CountDownLatch

和CyclicBarrier的区别是,CyclicBarrier可以循环使用,CountDownLatch不可以;CyclicBarrier可以有一个Runnable参数,在所有子任务执行完成后触发一个动作。两者在模型上近似,都是等待一批固定数量的子任务执行完成后才能执行主任务。

流程如下:

示例代码如下:

    @Test
public void test3() throws InterruptedException {
CountDownLatch countDownLatch = new CountDownLatch(5); ExecutorService executorService = Executors.newCachedThreadPool(); for(int i = 0; i < 5; i++) {
executorService.execute(new Task(countDownLatch));
} countDownLatch.await(); executorService.shutdown();
} public static class Task implements Runnable { CountDownLatch countDownLatch; public Task(CountDownLatch countDownLatch) {
this.countDownLatch = countDownLatch;
} @Override
public void run() {
System.err.println("当前完成的任务数目:" + countDownLatch.getCount());
countDownLatch.countDown();
}
}

最新文章

  1. win 10 常见问题
  2. securityCRT mongoDB 命令行删除(backspace/delete)无效问题
  3. What he did
  4. 解决Tomcat 6.0 只支持 J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
  5. 李洪强iOS面试总结之- FMDB
  6. 从微信推送看Android Service的创建和销毁
  7. Coordinate System
  8. box-shadow属性
  9. HTML模块化:使用HTML5 Boilerplate模板
  10. angularJS实战(一)
  11. 【原创】Linux基础之sudo
  12. [Linux]防火墙关闭与开启
  13. [双系统linux] ----双系统切换导致系统时间错误
  14. .NET-记一次架构优化实战与方案-梳理篇
  15. shiro使用
  16. javascript基础的查缺补漏
  17. Announcing the Operate Preview Release: Monitoring and Managing Cross-Microservice Workflows
  18. ionic 开发解决ios上qq客服链接不跳转或者跳转到appstore
  19. android 常用渐变背景绘制
  20. BZOJ3298: [USACO 2011Open]cow checkers 威佐夫博弈

热门文章

  1. 【例题收藏】◇例题&#183;6◇ 电压机制(voltage)
  2. linux链路聚合
  3. java服务端项目开发规范
  4. 安装java 和 eclipse
  5. hack游戏攻略(黑吧安全吧的黑客闯关游戏)古墓探秘
  6. Table被web编程弃用的原因
  7. 文件 I/O缓冲流
  8. Sqoop帮助文档
  9. Android开发——View绘制过程源码解析(二)
  10. [Jmeter]jmeter数据库性能测试配置