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详解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
java获取request中的参数以及java解析URL问号后的参数
这篇文章主要介绍了java获取request中的参数以及java解析URL问号后的参数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12
Java8新特性之泛型的目标类型推断_动力节点Java学院整理
泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。下面通过本文给分享Java8新特性之泛型的目标类型推断,感兴趣的朋友参考下吧2017-06-06
springboot+element-ui实现多文件一次上传功能
这篇文章主要介绍了springboot+element-ui多文件一次上传功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-06-06


最新评论