Java并发编程CyclicBarrier的使用
来源:互联网 发布:linux单用户模式怎么进 编辑:程序博客网 时间:2024/06/05 08:33
import java.util.concurrent.CyclicBarrier;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class CyclicBarrierTest { private static CyclicBarrier cyclicBarrier = new CyclicBarrier(3, new Runnable() { @Override public void run() { System.out.println("大家都到达了宿舍楼下,一起出发吧。。。"); } }); //或者private static CyclicBarrier cyclicBarrier = new CyclicBarrier(3);就沒有這一句:大家都到达了宿舍楼下,一起出发吧。。。 public static void main(String[] args) { ExecutorService executor = Executors.newFixedThreadPool(3); for (int i = 0; i < 3; i++) { executor.execute(new WalkThread(cyclicBarrier, "同学" + i)); } executor.shutdown(); System.out.println("这里会在shutdown之前执行"); } /** * 从宿舍到食堂线程 * * @author LiuYi * */ static class WalkThread extends Thread { private CyclicBarrier mCyclicBarrier; private String name; public WalkThread(CyclicBarrier cyclicBarrier, String name) { this.mCyclicBarrier = cyclicBarrier; this.name = name; } @Override public void run() { System.out.println(name + "开始从宿舍出发。。。"); try { Thread.sleep(1000); mCyclicBarrier.await();// 等待别同学 // 前往食堂 System.out.println(name + "开始从宿舍楼下出发。。。"); Thread.sleep(1000); System.out.println(name + "达到食堂。。。"); } catch (Exception e) { e.printStackTrace(); } } }}
运行结果:
同学0开始从宿舍出发。。。同学2开始从宿舍出发。。。同学1开始从宿舍出发。。。这里会在shutdown之前执行大家都到达了宿舍楼下,一起出发吧。。。同学1开始从宿舍楼下出发。。。同学2开始从宿舍楼下出发。。。同学0开始从宿舍楼下出发。。。同学0达到食堂。。。同学1达到食堂。。。同学2达到食堂。。。
阅读全文
0 0
- Java并发编程之CyclicBarrier的使用
- Java并发编程CyclicBarrier的使用
- java并发编程中CountDownLatch和CyclicBarrier的使用 - [java]
- java并发:CyclicBarrier的使用
- java并发编程中CountDownLatch和CyclicBarrier的使用
- java并发编程中CountDownLatch和CyclicBarrier的使用
- java并发编程中CountDownLatch和CyclicBarrier的使用
- java并发编程中CountDownLatch和CyclicBarrier的使用
- Java并发编程中CountDownLatch和CyclicBarrier的使用
- Java并发编程中CountDownLatch和CyclicBarrier的使用
- java并发编程中CountDownLatch和CyclicBarrier的使用
- Java并发编程中CountDownLatch和CyclicBarrier的使用
- java并发编程中CountDownLatch和CyclicBarrier的使用
- java并发编程中CountDownLatch和CyclicBarrier的使用
- java并发编程中CountDownLatch和CyclicBarrier的使用
- Java并发编程之——CyclicBarrier的使用
- java并发编程中CountDownLatch和CyclicBarrier的使用
- java并发编程系列之CyclicBarrier的使用
- Android:实现一个CaseLogin数据存储
- 并行和并发的区别与联系
- react native android 高德地图原生代码编写
- Android——定时任务
- 编程知识总结
- Java并发编程CyclicBarrier的使用
- linux中scp命令使用技巧详解(传输速度)
- 将Eclipse所有的设置都设置为UTF-8格式,以方便开发使用。
- BZOJ 1968 约数研究
- mysql将一个表的字段更新到另一个表中
- 数据结构--队列
- DatePickerDialog时间选择器+MVPPlugin开发插件的使用
- Android的数据存储与访问:一个商品展示
- sleep