java并发之CountDownLatch
2014-07-18 00:00
447 查看
摘要: CountDownLatch简要说明
在
上面一段代码简单的介绍了
在
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
- Java并发学习笔记(14) 闭锁(CountDownLatch)
- java 1.5 并发流程控制CountDownLatch,CyclicBarrier,Semaphore
- Java 并发专题 :闭锁 CountDownLatch 之一家人一起吃个饭
- Java并发工具类CountDownLatch
- Java 并发专题 :闭锁 CountDownLatch 之一家人一起吃个饭
- Java并发包concurrent之CountDownLatch
- java并发编程之CountDownLatch详解
- java并发之CountDownLatch、Semaphore和CyclicBarrier
- [沧海拾遗]java并发之CountDownLatch、Semaphore和CyclicBarrier
- Java 并发专题 :闭锁 CountDownLatch 之一家人一起吃个饭
- Java线程(十一):CountDownLatch-线程并发的发令枪
- 《Java 7 并发编程指南》学习概要 (3)Semaphore, CountDownLatch, CyclicBarrier , Phaser, Exchanger
- java并发(一) CountDownLatch (在多个线程都结束后再去执行某个任务)
- Java 并发编程实战学习笔记——CountDownLatch的使用
- java并发包里的CountDownLatch的用法
- 转发---[沧海拾遗]java并发之CountDownLatch、Semaphore和CyclicBarrier
- Java并发之CountDownLatch、CyclicBarrier、Semaphore
- Java 并发同步器之CountDownLatch、CyclicBarrier
- Java并发编程之——同步器工具类(semaphores, barriers, CountDownLatch,exchangers)