Java并发编程- CyclicBarrier用法
使用场景:
用于多线程处理计算数据,最后合并计算结果的场景
例子:
public class CyclicBarrierTest {
static CyclicBarrier cyclicBarrier = new CyclicBarrier(3);
public static void main(String[] args) {
new Thread(new Runnable() {
public void run()
try {
Thread.sleep(1000);
System.out.println(1);
cyclicBarrier.await();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (BrokenBarrierException e) {
e.printStackTrace();
}
}
}).start();
new Thread(new Runnable() {
public void run() {
System.out.println(2);
try {
cyclicBarrier.await();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (BrokenBarrierException e) {
e.printStackTrace();
}
}
}).start();
try {
cyclicBarrier.await();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (BrokenBarrierException e) {
e.printStackTrace();
}
System.out.println(3);
}
}
本文介绍Java并发编程中CyclicBarrier的使用方法及其应用场景,通过示例代码演示如何利用CyclicBarrier实现多线程计算并最终合并计算结果。

被折叠的 条评论
为什么被折叠?



