CountDownLatch的使用方法
来源:互联网 发布:nodejs nginx 部署 编辑:程序博客网 时间:2024/06/05 21:57
CountDownLatch的使用方法
/**
CountDownLatch类是一个同步计数器(同步辅助类),构造时传入int参数,该参数就是计数器的初始值,每调用一次countDown()方法,计数器减1,
计数器大于0 时,await()方法会阻塞程序继续执行
CountDownLatch如其所写,是一个倒计数的锁存器,当计数减至0时触发特定的事件。利用这种特性,可以让主线程等待子线程的结束
*/
主要方法
public CountDownLatch(int count); // 构造方法参数指定了计数的次数
public void countDown(); // 当前线程调用此方法,则计数减一
public void await() throws InterruptedException // 调用此方法会一直阻塞当前线程,直到计时器的值为0
/**
CountDownLatch类是一个同步计数器(同步辅助类),构造时传入int参数,该参数就是计数器的初始值,每调用一次countDown()方法,计数器减1,
计数器大于0 时,await()方法会阻塞程序继续执行
CountDownLatch如其所写,是一个倒计数的锁存器,当计数减至0时触发特定的事件。利用这种特性,可以让主线程等待子线程的结束
*/
主要方法
public CountDownLatch(int count); // 构造方法参数指定了计数的次数
public void countDown(); // 当前线程调用此方法,则计数减一
public void await() throws InterruptedException // 调用此方法会一直阻塞当前线程,直到计时器的值为0
package CountDownLatchTest;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class CountDownLatchDemoTest {/** * @param args */public static void main(String[] args) {CountDownLatch countDownLatch = new CountDownLatch(5);System.out.println("start...");try {ExecutorService eService = Executors.newFixedThreadPool(3);for(int i = 0 ; i < 5 ; i ++){eService.execute(new CountDownLatchDemoTest().new WorkRunnable(countDownLatch));}countDownLatch.await(); // 这里开始阻塞,一直等到countDownLatch的值为0}catch (InterruptedException e) {e.printStackTrace();System.out.println(e.toString());}System.out.println("end...");}class WorkRunnable implements Runnable{CountDownLatch countDownLatch = null;public WorkRunnable(CountDownLatch countDownLatch) {this.countDownLatch = countDownLatch;}@Overridepublic void run() {System.out.println("ThreadName = " + Thread.currentThread().getName());countDownLatch.countDown(); // countDownLatch的值减一}}}
0 0
- CountDownLatch的使用方法
- CountDownLatch的使用方法
- CountDownLatch的使用方法
- CountDownLatch的使用方法和应用场景分析
- java多线程组件一:CountDownLatch使用方法的总结
- CountDownLatch 的使用
- Java的CountDownLatch
- CountDownLatch 的理解
- CountDownLatch的使用
- countdownlatch的用法
- CountDownLatch的用法
- JAVA的CountDownLatch
- Android CountDownLatch的使用
- CountDownLatch的原理
- CountDownLatch的用法
- CountDownLatch源码的理解
- CountDownLatch的使用
- CountDownLatch的使用
- Android中应用的字体Typeface的设置
- java 动态编译
- SPOJ NUMOFPAL - Number of Palindromes 水题 (Palindromic Tree 练习)
- [github] github入手教程
- 设计模式之单例模式(C++)
- CountDownLatch的使用方法
- iphone常用控件之UIScrollView
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- poj 3667
- 队列
- 最大公约数和最小公倍数
- 对C++中派生类的认识
- 字符串分割(C++)
- java 反射通过get方法获得属性值