首页 > 其他分享 >CountDownLatch

CountDownLatch

时间:2022-10-24 22:36:34浏览次数:31  
标签:int CountDownLatch System 计数 countDownLatch public


1. 介绍

通常用来控制线程的等待,可以理解为一个倒计数工具。它可以让一个线程等待直到倒计数结束,再开始执行。计数只能减,不能增。

2. 构造函数

public CountDownLatch(int count);

接收一个整数作为参数,即当前计数器的计数个数

3. 案例

主线程在CountDownLatch上等待,所有任务完成后,主线程方能继续执行。

public class Test01 {


@Test
public void test01() throws Exception{
CountDownLatch countDownLatch = new CountDownLatch(10);
ExecutorService es = Executors.newFixedThreadPool(2);
for (int i = 0; i < 10; i++) {
es.execute(()->{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}finally {
countDownLatch.countDown();
System.out.println(countDownLatch.getCount());
}
});
}
countDownLatch.await();
System.out.println("end");

}

}

输出:

9
8
7
6
5
4
3
2
1
0
end

实时内容请关注微信公众号,公众号与博客同时更新:程序员星星

CountDownLatch_java


标签:int,CountDownLatch,System,计数,countDownLatch,public
From: https://blog.51cto.com/u_7841967/5791475

相关文章

  • countDownLatch和Semaphore
     countDOwnLatch:当线程1调用await方法那么就会阻塞,线程2,线程3,线程4分别调用countDown方法,当线程4调用countDown方法那么阻塞的队列不管有多少个都会依此唤醒,并不会像AQS......
  • CountDownLatch
    //批量修改if(CollectionUtils.isNotEmpty(updateKsxxList)){intoneBatch=MagicNumber.ONE_HUNDRED;inttimes=updateKsxxLis......
  • 第二季:6CountDownLatch/CyclicBarrier/Semaphore使用过吗?【Java面试题】
    第二季:6CountDownLatch/CyclicBarrier/Semaphore使用过吗?【Java面试题】​​前言​​​​推荐​​​​6CountDownLatch/CyclicBarrier/Semaphore使用过吗?​​​​说明​​......
  • CountDownLatch-倒计时锁
    原理适合总分任务,这个锁主要适用情景,要求某些操作全部执行完成才能继续执行后面操作,这时候就可以适用cdl来计数,每次执行完一个操作就减一,计数为0后表示全部线程执行完毕。......
  • CountDownLatch在多线程统计另一个线程的动向
    CountDownLatch在CountDownLatch类里面有两个方法一个是await()字面意思是等待的一次,他和sleep()方法的区别就是sellp()会自己醒过来,而await()方法需要另一个方法来唤醒......
  • Java并发编程解析 | 基于JDK源码解析Java领域中并发锁之同步器Semaphore,CyclicBarrier
    苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头在并发编程领域,有两大核心问题:一个是互斥,即同一时刻只允许一个线程访问共享......
  • 深入理解JUC:第四章:CountDownLatch倒计时器
    理论:CountDownLatch是一个非常实用的多线程控制工具类。常用的就下面几个方法:CountDownLatch(intcount)//实例化一个倒计数器,count指定计数个数countDown()//计数......
  • CountDownLatch+ThreadPool 优化统计报表
    一、功能要求业务方要求每天发一个统计日报到用户邮箱、业务为统计每日的多项市场指标数据,因为数据表中数据量庞大,每项指标的SQL是单独的逻辑,所以要在一个接口内执行多个S......
  • CountDownLatch demo演示裁判和选手赛跑
    #CountDownLatchdemo演示裁判和选手赛跑packagecom.example.core.mydemo;importjava.util.concurrent.CountDownLatch;importjava.util.concurrent.ExecutorServ......
  • CountDownLatch demo演示数据分片多线程处理
    #CountDownLatchdemo演示数据分片多线程处理packagecom.example.core.mydemo;importorg.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import......