CountDownLatch下面例子比较简单
import java.util.concurrent.CountDownLatch;
public class CountDownLatchTest {
static class SimpleThread extends Thread {
private CountDownLatch latch;
public SimpleThread(CountDownLatch latch){
this.latch = latch;
}
@Override
public void run() {
System.out.println(this + " RUNNING.");
latch.countDown();
}
}
public static void main(String[] args) throws InterruptedException {
CountDownLatch latch = new CountDownLatch(5);
for(int i=0; i<5; i++) {
new SimpleThread(latch).start();
}
//等待所有子线程处理完成。
latch.await();
System.out.println("Over");
}
}
运行结果:
Thread[Thread-2,5,main] RUNNING.
Thread[Thread-0,5,main] RUNNING.
Thread[Thread-1,5,main] RUNNING.
Thread[Thread-4,5,main] RUNNING.
Thread[Thread-3,5,main] RUNNING.
Over
参考:http://space.itpub.net/10742815/viewspace-611904
http://ideasforjava.iteye.com/blog/657295
http://kill8108.blog.163.com/blog/static/434199682010029102857607/
http://www.blogjava.net/vincent/archive/2007/09/28/149175.html
另外参考
线程池--java.util.concurrent 多线程框架
http://www.cnblogs.com/daidu/archive/2009/11/02/1594378.html
http://xiaobian.iteye.com/blog/178642
分享到:
相关推荐
主要介绍了JAVA多线程CountDownLatch的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
CountDownLatch是一个同步工具类,它通过一个计数器来实现的,初始值为线程的数量。每当一个线程完成了自己的任务,计数器的值就相应得减1。当计数器到达0时,表示所有的线程都已执行完毕,然后在等待的线程就可以恢复...
6.3 Semaphorer&CountDownLatch详 解副本.mp4
6.3 Semaphorer&CountDownLatch详 解副本副本.mp4
6.3 Semaphorer&CountDownLatch详 解副本副本副本.mp4
主要为大家详细介绍了CountDownLatch的使用说明,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
CountDownLatch、Semaphore等4大并发工具类详解,并介绍了简单的适用场景。
Java并发编程学习宝典(漫画版),Java并发编程学习宝典(漫画版)Java并发编程学习宝典(漫画版)Java并发编程学习宝典(漫画版)Java并发编程学习宝典(漫画版)Java并发编程学习宝典(漫画版)Java并发编程学习...
主要介绍了Java中CountDownLatch进行多线程同步详解及实例代码的相关资料,需要的朋友可以参考下
CountDownLatch 和 CyclicBarrier 为线程同步的辅助工具,通过它可以做到使一条线程一直阻塞等待,直到其他线程完成其所处理的任务。
Java并发编程一CountDownLatch、CyclicBarrier、Semaphore初使用 CountDownLatch、CyclicBarrier、Semaphore这些线程协作工具类是基于AQS的,看完这篇博客后可以去看下面这篇博客,了解它们是如何实现的。 Java并发...
主要介绍了Java CountDownLatch完成异步回调实例详解的相关资料,需要的朋友可以参考下
主要介绍了Java并发编程:CountDownLatch与CyclicBarrier和Semaphore的实例详解的相关资料,需要的朋友可以参考下
源码详解CountDownLatch CountDownLatch,是一种常见同步器。其实现依赖于AQS(可以参考抽象队列式同步器AQS详解) 具体来说一个经典得应用案例是,主线程等待子线程执行完毕,再进行信息汇总,退出主函数。 如下代码...
在Java中和ReadWriteLock.ReadLock一样,CountDownLatch的本质也是一个"共享锁",这里我们就来详解Java多线程编程中CountDownLatch阻塞线程的方法:
主要介绍了详解java CountDownLatch和CyclicBarrier在内部实现和场景上的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
并发工具类CountDownLatch详解.mp4 并发工具类CyclicBarrier 详解.mp4 并发工具类Semaphore详解.mp4 并发工具类Exchanger详解.mp4 CountDownLatch,CyclicBarrier,Semaphore源码解析.mp4 提前完成任务之FutureTask...
12. 闭锁 CountDownLatch 13. 栅栏 CyclicBarrier 14. 交换机 Exchanger 15. 信号量 Semaphore 16. 执行器服务 ExecutorService 17. 线程池执行者 ThreadPoolExecutor 18. 定时执行者服务 ScheduledExecutorService ...
第37节并发工具类CountDownLatch详解00:22:04分钟 | 第38节并发工具类CyclicBarrier 详解00:11:52分钟 | 第39节并发工具类Semaphore详解00:17:27分钟 | 第40节并发工具类Exchanger详解00:13:47分钟 | 第41节...
第37节并发工具类CountDownLatch详解00:22:04分钟 | 第38节并发工具类CyclicBarrier 详解00:11:52分钟 | 第39节并发工具类Semaphore详解00:17:27分钟 | 第40节并发工具类Exchanger详解00:13:47分钟 | 第41节...