`
xijunhu
  • 浏览: 155830 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

CountDownLatch 使用详解

阅读更多
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多线程CountDownLatch是JAVA多线程编程中的一种同步工具,主要用来让某个线程等待其他线程执行完毕后再继续执行。下面我们将详细介绍JAVA多线程CountDownLatch的使用和原理。...

    CountDownLatch详解.docx

    CountDownLatch 是 Java 中的一个同步工具类,位于 `java.util.concurrent` 包下,它主要用于多线程间的协作,...正确使用 CountDownLatch 可以提高程序的并发性能,避免不必要的等待,同时确保任务的正确顺序执行。

    27 倒数计时开始,三、二、一—CountDownLatch详解.pdf

    使用 CountDownLatch 需要创建一个实例并传入一个初始计数值,这个计数值表示需要等待的线程数量。然后,每个需要等待的线程在完成任务后调用 `countDown()` 方法,将计数值减一。主线程或其他需要等待的线程调用 `...

    6.3 Semaphorer&CountDownLatch详 解副本.mp4

    6.3 Semaphorer&CountDownLatch详 解副本.mp4

    CountDownLatch同步工具类使用详解

    CountDownLatch同步工具类使用详解 CountDownLatch是一个java.util.concurrent包下的同步工具类,它允许一个或多个线程等待直到在其他线程中一组操作执行完成。CountDownLatch的用法非常简单,它可以用来控制线程的...

    6.3 Semaphorer&CountDownLatch详 解副本副本.mp4

    6.3 Semaphorer&CountDownLatch详 解副本副本.mp4

    6.3 Semaphorer&CountDownLatch详 解副本副本副本.mp4

    6.3 Semaphorer&CountDownLatch详 解副本副本副本.mp4

    CountDownLatch 和 CyclicBarrier 的运用(含AQS详解)

    ### CountDownLatch 和 CyclicBarrier 的运用(含AQS详解) #### CountDownLatch **定义与特点:** CountDownLatch 是 Java 并发包中的一个重要组件,它主要用于解决“一个或多个线程等待其他线程完成任务”的问题。...

    CountDownLatch、Semaphore等4大并发工具类详解

    本文将详细介绍 Java 并发工具类的四大类:CountDownLatch、Semaphore、CyclicBarrier 和 Phaser,及其应用场景和使用方法。 CountDownLatch CountDownLatch 是一个同步的辅助类,允许一个或多个线程,等待其他一...

    Java中CountDownLatch进行多线程同步详解及实例代码

    Java中CountDownLatch进行多线程同步详解及实例代码 CountDownLatch是Java中的一种多线程同步辅助类,主要用来同步多个任务的执行。它允许一个或多个线程等待,直到一组正在其他线程中执行的操作完成。下面是对...

    Java CountDownLatch完成异步回调实例详解

    Java CountDownLatch 完成异步回调实例详解 Java 中的 CountDownLatch 是一个同步辅助类,允许一个线程等待其他线程完成操作。它是一种非常有用的工具,用于在多线程环境中实现异步回调。在本文中,我们将学习如何...

    Java并发编程:CountDownLatch与CyclicBarrier和Semaphore的实例详解

    Java并发编程:CountDownLatch与CyclicBarrier和Semaphore的实例详解 Java并发编程是Java语言中的一种高级技术,用于处理多线程编程中的同步问题。Java 1.5中引入了几个高效的辅助类,包括CountDownLatch、...

    源码详解CountDownLatch

    CountDownLatch 是 Java 中一个强大的并发工具,用于协调多个线程之间的同步。它是 java.util.concurrent 包中的一个类,主要用于在多线程环境下让一个或多个线程等待其他线程完成操作。CountDownLatch 的核心功能是...

    详解Java多线程编程中CountDownLatch阻塞线程的方法

    在使用CountDownLatch时,需要注意以下几点: - 计数器一旦被初始化,就不能改变,因此它只能被使用一次。如果需要重复使用,可以考虑使用CyclicBarrier或Semaphore。 - `await()`方法是非阻塞的,这意味着在调用`...

    详解java CountDownLatch和CyclicBarrier在内部实现和场景上的区别

    总结来说,CountDownLatch和CyclicBarrier虽然都是同步工具,但在实现和使用上有所不同。CountDownLatch关注的是一个单一的计数,当计数归零时,所有等待的线程都被释放,常用于一次性同步事件。而CyclicBarrier关注...

    Java异步调用转同步方法实例详解

    Java中将异步调用转换为同步调用有多种方法,本文将详细介绍五种方法:使用wait和notify方法、使用条件锁、使用Future、使用CountDownLatch、使用CyclicBarrier。 1. 使用wait和notify方法 wait和notify方法是...

    Java多线程详解

    以上是对"Java多线程详解"主题的详细阐述,涵盖了Java多线程的基本概念、实现方式、线程控制、线程池、并发集合、线程间通信以及并发编程中常见的问题和解决方案。学习和熟练掌握这些内容对于开发高效的多线程Java...

    Java并发之AQS详解.pdf

    Java并发之AQS详解 AbstractQueuedSynchronizer(AQS)是 Java 并发编程中的一个核心组件,提供了一套多线程访问共享资源的同步器框架。AQS 定义了两种资源共享方式:Exclusive(独占)和 Share(共享)。在 AQS 中...

    Java.Bug模式详解

    理解并发容器如ConcurrentHashMap、CopyOnWriteArrayList的工作原理,以及如何使用CountDownLatch、CyclicBarrier等工具,可以有效避免这类问题。 5. **资源管理**:在处理I/O流或其他资源时,忘记关闭可能会导致...

    Java并发编程原理与实战

    并发工具类CountDownLatch详解.mp4 并发工具类CyclicBarrier 详解.mp4 并发工具类Semaphore详解.mp4 并发工具类Exchanger详解.mp4 CountDownLatch,CyclicBarrier,Semaphore源码解析.mp4 提前完成任务之FutureTask...

Global site tag (gtag.js) - Google Analytics