java拓展----CountDownLatch同步辅助类
同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一
个或多个线程一直等待。
•
• await(), 调用此方法会一直阻塞当前线程,直到计时器的值为
一下是
1 package com.demo.singleton; 2 3 import java.util.concurrent.CountDownLatch; 4 5 /** 6 *CountDownLatch是一个同步辅助类,用于开线程进行方法的性能测试。 7 */ 8 public class CountDownLatchTest { 9 public static void main(String[] args) throws InterruptedException { 10 //定义一个计数常量count 11 int count = 10; 12 //创建一个同步辅助对象 13 final CountDownLatch countDownLatch = new CountDownLatch(count); 14 //记录起始时间 15 long l1 = System.currentTimeMillis(); 16 //循环创建线程 17 for(int i=0;i<count;i++){ 18 new Thread(new Runnable() { 19 @Override 20 public void run() { 21 for(int i =0;i<1000000000;i++){ 22 try { 23 Singleton2.getSingleton(); 24 } catch (Exception e) { 25 e.printStackTrace(); 26 } 27 } 28 //每单一个线程执行结束,计数器就减一 29 countDownLatch.countDown(); 30 } 31 }).start(); 32 } 33 //主线程等待,知道计数器为0 34 countDownLatch.await(); 35 long l2 = System.currentTimeMillis(); 36 System.out.println("最后执行时间:"+(l2-l1)); 37 } 38 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!