JDK并发包之CountDownLatch

       CountDownLatch(倒计时器)通常用来控制线程等待,它可以让一个线程等待直到倒计时结束再开始执行。CountDownLatch的构造函数接收一个整数作为参数,即当前这个计数器的个数:public CountDownLatch(int count);

       CountDownLatch常用的方法:

       countdown()方法,指倒计时器减一。

       await()方法,在某个线程里调用,使该线程等待倒计时器为0后再继续执行。

                                              

        应用示例:

public class CountDownLatchDemo implements Runnable{
	private static CountDownLatch countDwonLatch=new CountDownLatch(5);
	public void run(){
		try {
			Thread.sleep(new Random().nextInt(2000));
			System.out.println("over");
			countDwonLatch.countDown();//一个线程工作结束,计时器减1
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args) throws InterruptedException {
		CountDownLatchDemo dome=new CountDownLatchDemo();
		ExecutorService exe=Executors.newFixedThreadPool(5);
		for(int i=0; i<5; i++){
			exe.execute(dome);
		}
		countDwonLatch.await();//主线程等待所有线程工作结束
		System.out.println("All is over");
		exe.shutdown();
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值