Java多线程中的CyclicBarrier详解
更新时间:2023年11月20日 11:14:01 作者:梦断泪影
这篇文章主要介绍了Java多线程中的CyclicBarrier详解,同步屏障,允许一组线程互相等待以到达一个公共的障碍点,当设定的线程数到达屏障时,阻塞的线程继续执行,需要的朋友可以参考下
什么是CyclicBarrier
同步屏障,允许一组线程互相等待以到达一个公共的障碍点。当设定的线程数到达屏障时,阻塞的线程继续执行。
构造方法
- CyclicBarrier(int parties),parties设定的阻碍线程数。
- CyclicBarrier(int parties, Runnable barrierAction),barrierAction任务,设定的线程数都到达屏障时,才会执行。
模拟场景
景区游览车,一次坐满20人就发车,公司团建共去了100人。
public class TestCyclicBarrier {
public static void main(String[] args) {
CyclicBarrier barrier = new CyclicBarrier(20, new Runnable() {
@Override
public void run() {
System.out.println("满人,发车");
}
});
for(int i=0; i<100; i++) {
new Thread(()->{
try {
barrier.await();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (BrokenBarrierException e) {
e.printStackTrace();
}
}).start();
}
}
}
到此这篇关于Java多线程中的CyclicBarrier详解的文章就介绍到这了,更多相关CyclicBarrier详解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot 使用 Sa-Token 完成权限认证的操作方法
Sa-Token是一款轻量级Java权限认证框架,适用于快速搭建权限系统,它提供了丰富的功能,下面给大家介绍SpringBoot 使用 Sa-Token 完成权限认证的相关操作,感兴趣的朋友跟随小编一起看看吧2025-02-02


最新评论