JAVA多线程之(CyclicBarrier)
来源:互联网 发布:系统之家windows vista 编辑:程序博客网 时间:2024/05/17 06:40
CyclicBarrier与CountDownLatch类似,一般用于任务拆分,例如一个任务分派多个子任务,然后组任务需要等待所有子任务执行结束后合并子任务返回的结果。具体请参照实例:
package nc.com.thread.other;import java.util.Random;import java.util.concurrent.CyclicBarrier;/** * 一般在应用任务拆分时使用,先拆分再合并子任务结果的处理* @ClassName: CyclicBarrierTest * @Description: TODO(这里用一句话描述这个类的作用) * @author A18ccms a18ccms_gmail_com * @date 2015-12-20 下午05:30:38 * */public class CyclicBarrierTest { private static boolean finished=false; public static void main(String[] args) { CyclicBarrier readybarr = new CyclicBarrier(3,new recorder());for(int i=0;i<3;i++){new Thread(new Runner(readybarr), "运动员"+i).start();}}static class Runner implements Runnable{ CyclicBarrier readybarr;public Runner(CyclicBarrier readybarr){this.readybarr=readybarr;}@Overridepublic void run() { try { Thread.sleep(1000 * (new Random()).nextInt(8)); System.out.println(""+Thread.currentThread().getName()+"已经在起跑线做好了准备......"); readybarr.await(); System.out.println(""+Thread.currentThread().getName()+"开始跑"); Thread.sleep(1000 * (new Random()).nextInt(8)); System.out.println(""+Thread.currentThread().getName()+"到达终点"); finished =true; readybarr.await();} catch (Exception e) {e.printStackTrace();} }}static class recorder implements Runnable{@Overridepublic void run() {if(finished){System.out.println("比赛结束,技术台公布成绩");finished =false;}}}}
0 0
- JAVA多线程之(CyclicBarrier)
- Java多线程之CyclicBarrier
- Java多线程之CyclicBarrier
- JAVA多线程之CyclicBarrier
- Java多线程之CyclicBarrier
- Java多线程之CyclicBarrier
- Java多线程之----CyclicBarrier
- Java 多线程之CyclicBarrier
- Java多线程之CyclicBarrier(一)
- Java多线程技术之CyclicBarrier
- (九)java多线程之CyclicBarrier
- Java多线程(八)之Semaphore、CountDownLatch、CyclicBarrier、Exchanger
- Java多线程之concurrent包(五)——CyclicBarrier
- Java多线程(八)之Semaphore、CountDownLatch、CyclicBarrier、Exchanger
- java多线程问题之同步器CyclicBarrier
- Java多线程同步工具之CyclicBarrier
- 我之见--java 多线程CyclicBarrier
- Java多线程之~~~CyclicBarrier 类的使用
- Python初体验之基础篇(1)- 算术和变量
- 冒泡排序
- SQL Server 未删除任何行
- fork,vfork,clone区别
- 网易互娱2017实习生招聘在线笔试(二)
- JAVA多线程之(CyclicBarrier)
- Android实现仿qq登录可编辑下拉菜单
- 五、物理任务生成
- hdu2048 神、上帝以及老天爷(错排)
- poj 1146 ID Codes
- Codility K complementary pairs
- myeclipse2014如何创建user library
- java设计模式基础之设计原则
- ps快捷键(未完待续)