CountDownLatch
来源:互联网 发布:柯杰律师事务所知乎 编辑:程序博客网 时间:2024/06/05 19:25
package moco;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * Created by leo on 16/7/7. */public class CountDownLatchTest { // 模拟了100米赛跑,10名选手已经准备就绪,只等裁判一声令下。当所有人都到达终点时,比赛结束。 public static void main(String[] args) throws InterruptedException { // 开始的倒数锁 final CountDownLatch begin = new CountDownLatch(1); // 结束的倒数锁 final CountDownLatch end = new CountDownLatch(10); // 十名选手 final ExecutorService exec = Executors.newFixedThreadPool(10); for (int index = 0; index < 10; index++) { final int NO = index + 1; Runnable run = new Runnable() { public void run() { try { // 如果当前计数为零,则此方法立即返回。 // 等待 begin.await(); Thread.sleep((long) (Math.random() * 10000)); System.out.println("No." + NO + " arrived"); } catch (InterruptedException e) { } finally { // 每个选手到达终点时,end就减一 end.countDown(); } } }; exec.submit(run); } System.out.println("Game Start"); // begin减一,开始游戏 begin.countDown(); // 等待end变为0,即所有选手到达终点 end.await(); System.out.println("Game Over"); exec.shutdown(); }}
0 0
- CountDownLatch
- CountDownLatch
- CountDownLatch
- Countdownlatch
- CountDownLatch
- CountDownLatch
- CountDownLatch
- CountDownLatch
- CountDownLatch
- CountDownLatch
- CountDownLatch
- CountDownLatch
- CountDownLatch
- CountDownLatch
- CountDownLatch
- CountDownLatch
- CountDownLatch,
- CountDownLatch
- 数据分析中会常犯哪些错误,如何解决? 一
- 谷歌大脑科学家 Caffe缔造者 贾扬清 微信讲座
- (OK) init_install_android-x86_64_in_QEMU-KVM.sh
- linux 平台 性能分析 工具
- 数据分析中会常犯哪些错误,如何解决? 二
- CountDownLatch
- Android 四大图片缓存原理、特性对比
- 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
- 非常简单的视频播放器源码
- 混合开发的大趋势之一React Native(环境搭建)
- Hibernate注解使用和spring整合
- 数据分析中会常犯哪些错误,如何解决? 三
- wxPython安装与GUI
- Java volatile