java多线程之CountDownLatch倒数闸门
2011-10-14 14:17
369 查看
在多个线程进行协作时,一个常见的情景是一个线程需要等待另外的线程完成某些任务之后才能继续进行.在这种情况下,可以使用CountDownLatch类,CountDownLatch类相当于多个线程等待开启的一个闸门.只有在其他线程完成任务之后,闸门才会打开,等待的线程才能运行.在创建CountDownLatch类的对象是需要指定等待完成的任务数目.一个CountDownLatch.类的对象被执行任务的线程和等待任务完成的线程说共享.当执行任务的线程完成其任务时,调用countDown方法来使待完成的任务数量减1.等待任务完成的线程通过调用await方法进入阻塞状态直到待完成的任务数量变为0.当所有任务都完成时,等待任务完成的线程会从await方法返回,可以继续执行后继的代码.CountDownLatch类的对象的使用是一次性的.一旦待完成的任务数量变为0,再调用await方法就不再阻塞当前线程,而是立即返回.倒数闸门的使用示例:
?
本文出自 “ketqi” 博客,请务必保留此出处http://ketqi.blog.51cto.com/1130608/687565
?
相关文章推荐
- 【Java多线程与并发库】14.java5的CountDownLatch同步工具
- Java多线程之CountDownLatch
- Java的concurrent包里面的CountDownLatch多线程然后必须等其它任务执行完毕
- java多线程 关于synchronized wait notify CountDownLatch CyclicBarrier Semaphore
- Java多线程与并发库高级应用之倒计时计数器CountDownLatch
- Java 多线程协调工具 CyclicBarrier 与CountDownLatch 学习
- JAVA多线程两个实用的辅助类(CountDownLatch和AtomicBoolean)
- Java多线程系列--“JUC锁”09之 CountDownLatch原理和示例
- Java多线程之CountDownLatch同步器的使用(六)
- Java基础:多线程之CountDownLatch、CyclicBarrier、Exchanger
- Java多线程协作CountDownLatch,主线程等待子线程结束
- Java多线程之CountDownLatch
- Java多线程20:多线程下的其他组件之CountDownLatch、Semaphore、Exchanger
- Java多线程知识点整理(CyclicBarrier、CountDownLatch、Callable、Future和FutureTask)
- Java多线程20:多线程下的其他组件之CountDownLatch、Semaphore、Exchanger
- Java多线程系列--“JUC锁”09之 CountDownLatch原理和示例 (r)
- java多线程编程——同步器CountDownLatch(三)
- Java5 多线程(六)--CountDownLatch 同步工具类
- Java多线程之CountDownLatch学习
- java多线程之CountDownLatch