`

java并发之CountDownLatch

    博客分类:
  • Java
 
阅读更多
http://my.oschina.net/u/1383439/blog/292531
在java.util.conccurent包中有很多关于并发中可能会使用到的工具类,本文的主角CountDownLatch就是其中之一,其实CountDownLatch就是一个计数器,在它的计数值变为0之前,它的await方法会阻塞当前线程的执行。

构造函数

CountDownLatch只有一个构造函数,这个函数接受一个int类型的参数,这个参数的意义就是计数器的计数值,如果你想在程序中获得一个CountDownLatch的实例,你可以:
CountDownLatch countDownLatch = new CountDownLatch(1);



如何使用
import java.util.concurrent.CountDownLatch;
 
/**
 * Filename : Child.java
 * Created by Derekxyz on 2014/7/18.
 */
public class Child implements Runnable{
 
    private CountDownLatch c1;
 
    public Child(CountDownLatch c1) {
        this.c1 = c1;
    }
 
    public void run() {
 
        try {
            System.out.println("i`m child,i want to eat");
            c1.await();
            System.out.println("oh ,it`s very delicious!");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
 
    public static void main(String[] args) {
        CountDownLatch latch = new CountDownLatch(1);//实例化一计数值为1的计数器
        Thread t = new Thread(new Child(latch));
        t.start();//会输出i`m child,i want to eat,然后等待计数器的值归零
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("now it`s time to eat");
        latch.countDown();//将计数值减一,即变为0 
 
        //线程中的下一句话oh ,it`s very delicious!,此刻将会输出。
 
 
    }
}

上面一段代码简单的介绍了CountDownLatch的使用方法。
分享到:
评论

相关推荐

    java并发工具类(CountDownLatch+Semaphore+Exchanger)

    java并发工具类(CountDownLatch+Semaphore+Exchanger);java并发工具类(CountDownLatch+Semaphore+Exchanger);java并发工具类(CountDownLatch+Semaphore+Exchanger);java并发工具类(CountDownLatch+...

    java并发编程2

    Java并发编程是Java开发中的重要领域,特别是在多核处理器和分布式系统中,高效地利用并发可以极大地提升程序的性能和响应速度。以下是对标题和描述中所提及的几个知识点的详细解释: 1. **线程与并发** - **线程*...

    《java 并发编程实战高清PDF版》

    在Java并发编程中,多线程是核心概念之一。多线程允许程序同时执行多个任务,从而充分利用系统资源,提高程序性能。然而,多线程编程也带来了同步和竞态条件等问题,这需要开发者具备良好的线程管理和同步机制的知识...

    java并发编程艺术

    《Java并发编程艺术》这本书深入探讨了Java平台上的并发编程技术。并发编程是现代多核处理器环境下提升软件性能的关键手段,而Java语言提供了丰富的工具和API来支持这一领域。本书旨在帮助开发者理解和掌握如何在...

    java并发编程中CountDownLatch和CyclicBarrier的使用借鉴.pdf

    java并发编程中CountDownLatch和CyclicBarrier的使用借鉴 java并发编程中CountDownLatch和CyclicBarrier是两个非常重要的线程控制和调度工具,经常被用于解决多线程程序设计中的线程等待问题。本文将对...

    java并发编程与实践

    "Java并发编程与实践"文档深入剖析了这一主题,旨在帮助开发者理解和掌握如何在Java环境中有效地实现并发。 并发是指在单个执行单元(如CPU)中同时执行两个或更多任务的能力。在Java中,这主要通过线程来实现,...

    Java并发编程从入门到精通(pdf)(附源码)

    接着,书中将深入探讨Java并发工具类,如Executor框架、Semaphore信号量、CyclicBarrier和CountDownLatch等,这些工具在实际项目中有着广泛的应用,学习它们能帮助开发者更好地控制和协调并发任务。 此外,书中的...

    java并发编程

    Java并发编程是Java开发者必须掌握的关键技能之一,它涉及到如何在多线程环境中高效、安全地执行程序。并发编程能够充分利用多核处理器的计算能力,提高应用程序的响应速度和整体性能。《Java编程并发实战》这本书是...

    Java并发编程-3.pdf

    Java并发编程中的多线程协作机制 在 Java 并发编程中,多线程协作机制是非常重要的一部分。多线程协作机制是指在多线程编程中,多个线程之间如何协作、同步和通信,以达到共同完成某个任务的目的。Java 提供了多种...

    Java并发编程常识-梁飞.rar

    Java并发编程是Java开发中的重要领域,特别是在多核处理器和分布式系统中,高效地利用并发可以极大地提升程序的性能和响应速度。阿里大牛梁飞编写的《Java并发编程常识》PPT,深入浅出地讲解了这个主题,对开发者来...

    并发编程之CountDownLatch

    CountDownLatch 并发编程 CountDownLatch 是一个同步的辅助类,它可以允许一个或多个线程等待,直到一组在其它线程中的操作执行完成。它通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了...

    java并发编程中CountDownLatch和CyclicBarrier的使用.pdf

    在Java并发编程中,CountDownLatch和CyclicBarrier是两种非常重要的同步工具,用于协调多个线程之间的交互。它们都属于java.util.concurrent包下的类,为多线程编程提供了强大的支持。 **CountDownLatch** 是一个...

    java并发书籍xxxxxxx

    Java并发编程是Java开发中的重要领域,特别是在多核处理器和分布式系统中,高效地利用并发能力可以极大地提高程序性能和响应速度。以下是一些关于Java并发编程的关键知识点: 1. **线程与进程**:在操作系统中,...

    java并发编程实战高清版pdf

    《Java并发编程实战》是Java开发者深入理解和掌握并发编程的一本经典著作。这本书全面地介绍了Java平台上的并发和多线程编程技术,旨在帮助开发者在多核时代编写出高效、可伸缩且线程安全的代码。 并发编程是现代...

    Java并发编程实践高清pdf及源码

    《Java并发编程实践》是一本深入探讨Java多线程编程的经典著作,由Brian Goetz、Tim Peierls、Joshua Bloch、Joseph Bowles和David Holmes等专家共同编写。这本书全面介绍了Java平台上的并发编程技术,是Java开发...

    Java 并发.pdf_电子版pdf版

    Java并发编程是Java开发中不可或缺的一部分,特别是在处理高并发、多线程的互联网应用时尤为重要。本篇将详细解析Java并发中的线程状态转换、线程的使用方式以及相关概念。 一、线程状态转换 Java线程在执行过程中...

    Java并发工具包

    Java并发工具包中包含了一些同步辅助类,如Semaphore(信号量)、CyclicBarrier(循环屏障)和CountDownLatch(计数器门锁)。它们帮助协调多线程间的协作,控制线程的并发访问数量或等待特定条件。 六、FutureTask...

    JAVA并发编程实战JAVA并发编程实战JAVA并发编程实战JAVA并发编程实战

    Java并发工具类如Semaphore(信号量)、CountDownLatch、CyclicBarrier和ThreadPoolExecutor等,提供了更高级别的同步和协调机制。Semaphore用于限制同时访问特定资源的线程数量,CountDownLatch用于一次性阻塞多个...

    Java并发编程相关资料

    Java并发编程是Java开发中的重要领域,涉及到多线程、同步机制、线程池等多个核心概念,对于构建高效、稳定的应用至关重要。这份资料包含了关于Java并发编程的博客和网页,可以提供深入的理解和实践指导。 在Java...

    java并发编程实战.zip

    《Java并发编程实战》这本书是Java开发者深入理解并发编程的重要参考资料。它涵盖了Java并发的核心概念、工具和最佳实践,旨在帮助读者在多线程环境中构建高效、可靠的系统。以下是本书涉及的一些关键知识点: 1. *...

Global site tag (gtag.js) - Google Analytics