CountDownLatch 自己的一点理解
来源:互联网 发布:窗帘算法 编辑:程序博客网 时间:2024/04/27 23:19
package com.lyq.jsoup.MyQueue;/** * Created by mike on 2016/12/19. */import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;/** * 示例:CountDownLatch的使用举例 * 构造方法参数指定了计数的次数 * countDown方法,当前线程调用此方法,则计数减一 * await方法,调用此方法会一直阻塞当前线程,直到计时器的值为0 */public class TestCountDownLatch { private static final int N = 5; public static void main(String[] args) throws InterruptedException { CountDownLatch startSignal = new CountDownLatch(1);//控制每一个线程是否开始 CountDownLatch doneSignal = new CountDownLatch(N); for (int i = 1; i <= N; i++) { new Thread(new Worker(doneSignal, startSignal), "t" + i).start();//所有线程启动,都处于等待状态 } System.out.println("begin------------"); startSignal.countDown();//2:所有线程都执行 doneSignal.await();//3:等待所有的线程执行完毕 System.out.println("Ok"); } static class Worker implements Runnable { private final CountDownLatch doneSignal; private final CountDownLatch startSignal; Worker(CountDownLatch doneSignal, CountDownLatch startSignal) { this.startSignal = startSignal; this.doneSignal = doneSignal; } public void run() { try { startSignal.await(); //1:等待开始执行信号的发布 System.out.println("thread name:" + Thread.currentThread().getName()); } catch (InterruptedException e) { e.printStackTrace(); } finally { doneSignal.countDown();//4:每个线程一行完成,都会减一,知道doneSignal.count = 0 } } }}
0 0
- CountDownLatch 自己的一点理解
- JSON的一点自己的理解
- 关于volley的一点自己的理解
- 自己对权限表的一点理解
- Java's Interface自己的一点理解
- 自己对代理模式的一点理解
- 关于委托自己的一点理解
- 自己对PretranslateMessage的一点理解
- 自己对shell,终端的一点理解
- CountDownLatch 的理解
- CountDownLatch源码的理解
- CountDownLatch的简单理解
- 自己对java里面的socket的一点理解
- mysql的外键,自己的一点理解
- 关于spring mvc的一点自己的理解
- 自己关于Intent的一点大致的理解
- 对Silverlight中ObservableCollection自己的一点理解
- 自己对java数据结构跟算法的一点理解把
- laravel 获取真实的客户端IP
- rails oracle查询中文数据乱码问题
- Lucene 实例教程(一)初识Lucene
- 组策略要求此驱动器可写(Bitlocker加密后磁盘不能写入)的解决方式
- Welcome
- CountDownLatch 自己的一点理解
- NotePad++快捷键总结
- Android开发-自定义View-AndroidStudio(六)ViewPager再体验
- 结构型模式——适配器模式
- Android安全开发之安全使用HTTPS全面透析
- CoAP协议简介
- 小型bbs论坛系统开发4 后台父板块添加/修改
- 津巴布韦元以美元背书缓解货币贬值
- Ubuntu16.04安装国际版QQ教程