CyclicBarrier的简单理解
来源:互联网 发布:图片数字识别软件 编辑:程序博客网 时间:2024/06/11 00:56
CyclicBarrier的概念
字面翻译为回环栅栏,同CountDownLatch一样,也是concurrent包中提供的多线程之间通信的一种方式。它允许一组线程在等待某个状态后再全部同时执行。它允许一组线程互相等待对方,直到到达一个公共障碍点(barrier point)。它的一个典型应用是一组固定个数的线程需要互相等待,直到全部执行完成后,再继续执行。
之所以称为Cyclic,是因为所有等待线程被释放后,它还可以被重用(re-used),这是它区别于CountDownLatch的一个特征。
CyclicBarrier的用法
CyclicBarrier提供了两个构造方法:
public CyclicBarrier(int parties) { this(parties, null);}public CyclicBarrier(int parties, Runnable barrierAction) { if (parties <= 0) throw new IllegalArgumentException(); this.parties = parties; this.count = parties; this.barrierCommand = barrierAction;}
其中一个构造方法接收一个Runnable任务,当个数为parties的线程全部调用了await()方法后,CyclicBarrier会选择其中一个线程来执行barrierAction任务(详见 http://www.importnew.com/21889.html)。
阅读全文
1 0
- CyclicBarrier的简单理解
- Semaphore, CountDownLatch,CyclicBarrier 简单理解
- CyclicBarrier的简单事例
- Java-CyclicBarrier的简单例子
- 理解java的 CountDownLatch 和 CyclicBarrier
- CountDownLatch和CyclicBarrier原理的分析理解
- CountDownLatch和CyclicBarrier的简单应用1
- java中CyclicBarrier的简单用法
- CountDownLatch和CyclicBarrier的简单使用
- 你真的理解CountDownLatch与CyclicBarrier使用场景吗?
- java并发工具CyclicBarrier的理解和使用
- 深入理解 CyclicBarrier和CountDownLatch
- 简单使用CyclicBarrier(栏栅)
- CyclicBarrier的用法
- 多线程CyclicBarrier的用法
- CyclicBarrier的使用
- CyclicBarrier的用法
- CyclicBarrier的用法
- C# Log4j 动态配置日志目录
- Uva699 The Falling Leaves
- 构建scala+IDEA+sbt开发环境
- High-Speed Tracking with Kernelized Correlation Filters
- HDU-2047 阿牛的EOF牛肉串(递推)
- CyclicBarrier的简单理解
- 自己实现printf()函数
- 执行maven update project后,出现A child container failed during start
- spoj4487(splay)
- SPARK STREAMING之1:编程指南(翻译v1.4.1)
- 一例并发导致网站cpu 占用100% 的处理
- mysql 查询表 字段
- 通过ApplicationContextAware加载Spring上下文环境
- 3.5RC_Channel 和 SRV_channel