大家好,这里是淇妙小屋,一个分享技术,分享生活的博主,后续会发布更多MySQL,Redis,并发,JVM,分布式等面试热点知识,以及Java学习路线,面试重点,职业规划,面经等相关博客 转载请标明出处!
允许一个或多个线程等待其他线程完成操作
当一组线程到达CyclicBarrier时被阻塞,直到最后一个线程到达屏障时,所有被阻塞的线程才能继续运行
(count初始值为parties,每当一个线程调用CyclicBarrier的await(),就会让count-1,如果count-1后不为0,那么线程进入WATING
如果count-1后为0,就会打破屏障唤醒所有WATING的线程)
public CyclicBarrier(int parties) {
this(parties, null);
}
//初始化parties,count,barrierCommand
public CyclicBarrier(int parties, Runnable barrierAction) {
if (parties <= 0) throw new IllegalArgumentException();
this.parties = parties;
this.count = parties;
this.barrierCommand = barrierAction;
}
可中断
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。