CyclicBarrier及其用法详解
作者:互联网
简介
CyclicBarrier类似于栅栏,等待满足设置的线程数时再放开栅栏,类似于客车,人满才发车。与CountDownLatch的直观区别就是CountDownLatch减到0的时候所有线程才被唤醒。
用法
假设有100个人要坐车,需要上满50个人才发车
public class CyclicBarrierTest {
public static void main(String[] args) {
CyclicBarrier cb = new CyclicBarrier(50, () -> {
System.out.println("人满发车");
});
for(int i = 0; i < 100; i++) {
new Thread(() -> {
try {
cb.await();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (BrokenBarrierException e) {
e.printStackTrace();
}
}).start();
}
}
}
标签:cb,CountDownLatch,人满,用法,printStackTrace,详解,发车,CyclicBarrier 来源: https://blog.csdn.net/qq_35597828/article/details/121054213