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使用详解 JAVA多线程CountDownLatch是JAVA多线程编程中的一种同步工具,主要用来让某个线程等待其他线程执行完毕后再继续执行。下面我们将详细介绍JAVA多线程CountDownLatch的使用和原理。...
CountDownLatch 是 Java 中的一个同步工具类,位于 `java.util.concurrent` 包下,它主要用于多线程间的协作,...正确使用 CountDownLatch 可以提高程序的并发性能,避免不必要的等待,同时确保任务的正确顺序执行。
使用 CountDownLatch 需要创建一个实例并传入一个初始计数值,这个计数值表示需要等待的线程数量。然后,每个需要等待的线程在完成任务后调用 `countDown()` 方法,将计数值减一。主线程或其他需要等待的线程调用 `...
6.3 Semaphorer&CountDownLatch详 解副本.mp4
CountDownLatch同步工具类使用详解 CountDownLatch是一个java.util.concurrent包下的同步工具类,它允许一个或多个线程等待直到在其他线程中一组操作执行完成。CountDownLatch的用法非常简单,它可以用来控制线程的...
6.3 Semaphorer&CountDownLatch详 解副本副本.mp4
6.3 Semaphorer&CountDownLatch详 解副本副本副本.mp4
### CountDownLatch 和 CyclicBarrier 的运用(含AQS详解) #### CountDownLatch **定义与特点:** CountDownLatch 是 Java 并发包中的一个重要组件,它主要用于解决“一个或多个线程等待其他线程完成任务”的问题。...
本文将详细介绍 Java 并发工具类的四大类:CountDownLatch、Semaphore、CyclicBarrier 和 Phaser,及其应用场景和使用方法。 CountDownLatch CountDownLatch 是一个同步的辅助类,允许一个或多个线程,等待其他一...
Java中CountDownLatch进行多线程同步详解及实例代码 CountDownLatch是Java中的一种多线程同步辅助类,主要用来同步多个任务的执行。它允许一个或多个线程等待,直到一组正在其他线程中执行的操作完成。下面是对...
Java CountDownLatch 完成异步回调实例详解 Java 中的 CountDownLatch 是一个同步辅助类,允许一个线程等待其他线程完成操作。它是一种非常有用的工具,用于在多线程环境中实现异步回调。在本文中,我们将学习如何...
Java并发编程:CountDownLatch与CyclicBarrier和Semaphore的实例详解 Java并发编程是Java语言中的一种高级技术,用于处理多线程编程中的同步问题。Java 1.5中引入了几个高效的辅助类,包括CountDownLatch、...
CountDownLatch 是 Java 中一个强大的并发工具,用于协调多个线程之间的同步。它是 java.util.concurrent 包中的一个类,主要用于在多线程环境下让一个或多个线程等待其他线程完成操作。CountDownLatch 的核心功能是...
在使用CountDownLatch时,需要注意以下几点: - 计数器一旦被初始化,就不能改变,因此它只能被使用一次。如果需要重复使用,可以考虑使用CyclicBarrier或Semaphore。 - `await()`方法是非阻塞的,这意味着在调用`...
总结来说,CountDownLatch和CyclicBarrier虽然都是同步工具,但在实现和使用上有所不同。CountDownLatch关注的是一个单一的计数,当计数归零时,所有等待的线程都被释放,常用于一次性同步事件。而CyclicBarrier关注...
Java中将异步调用转换为同步调用有多种方法,本文将详细介绍五种方法:使用wait和notify方法、使用条件锁、使用Future、使用CountDownLatch、使用CyclicBarrier。 1. 使用wait和notify方法 wait和notify方法是...
以上是对"Java多线程详解"主题的详细阐述,涵盖了Java多线程的基本概念、实现方式、线程控制、线程池、并发集合、线程间通信以及并发编程中常见的问题和解决方案。学习和熟练掌握这些内容对于开发高效的多线程Java...
Java并发之AQS详解 AbstractQueuedSynchronizer(AQS)是 Java 并发编程中的一个核心组件,提供了一套多线程访问共享资源的同步器框架。AQS 定义了两种资源共享方式:Exclusive(独占)和 Share(共享)。在 AQS 中...
理解并发容器如ConcurrentHashMap、CopyOnWriteArrayList的工作原理,以及如何使用CountDownLatch、CyclicBarrier等工具,可以有效避免这类问题。 5. **资源管理**:在处理I/O流或其他资源时,忘记关闭可能会导致...
并发工具类CountDownLatch详解.mp4 并发工具类CyclicBarrier 详解.mp4 并发工具类Semaphore详解.mp4 并发工具类Exchanger详解.mp4 CountDownLatch,CyclicBarrier,Semaphore源码解析.mp4 提前完成任务之FutureTask...