当前位置: 首页 > news >正文

java CountDownLatch‌

CountDownLatch是用于线程同步的工具类,主要作用是让当前线程等待其他线程完成操作后再继续执行。 示例代码:

import java.util.concurrent.CountDownLatch;private static void testCountDownLatch() {int taskNum = 5;CountDownLatch latch = new CountDownLatch(taskNum); // 初始化计数器值for (int i = 0; i < taskNum; i++) {int finalI = i;new Thread(() -> {System.out.println("线程 " + finalI + "执行完成");latch.countDown(); // 计数器减1,当减至0时唤醒等待线程}).start();}try {System.out.println("当前线程:" + Thread.currentThread().getName() + " 等待中(即等待上述线程执行完毕)");latch.await(); // 阻塞当前线程直到计数器归零} catch (InterruptedException e) {e.printStackTrace();}System.out.println("所有线程执行完毕, 当前线程:" + Thread.currentThread().getName() + " 继续执行");}

打印:

ok.  注意CountDownLatch不能重复使用,如需重复使用应考虑CyclicBarrier。

http://www.xdnf.cn/news/762769.html

相关文章:

  • 题海拾贝:压缩字符串
  • 详解鸿蒙开发如何上传三方库到ohpm仓库
  • 【Dv3Admin】系统视图系统配置API文件解析
  • 017搜索之深度优先DFS——算法备赛
  • java ExecutorService线程池使用(ExecutorService/Completable异步+ExecutorService线程池)
  • Office安装包2024版
  • ck-editor5的研究 (4):初步使用 CKEditor5 的插件功能
  • 72.编辑用户消息功能之前端实现
  • PCB制作入门
  • 开始通信之旅-----话题通信
  • 关于 java:4. 异常处理与调试
  • C#数字图像处理(二)
  • IO流1——体系介绍和字节输出流
  • 如何用利用deepseek的API能力来搭建属于自己的智能体-优雅草卓伊凡
  • 【AI面试秘籍】| 第25期:RAG的关键痛点及解决方案深度解析
  • OpenGL、GLUT、freeGLUT 与 GLFW 的区别
  • 【渲染】拆解《三国:谋定天下》场景渲染技术
  • C++实现汉诺塔游戏自动完成
  • [AD] CrownJewel-1 Logon 4799+vss-ShadowCopy+NTDS.dit/SYSTEM+$MFT
  • QT中子线程触发主线程弹窗并阻塞等待用户响应
  • Ⅰ.计算机二级选择题(C语言概述)
  • 第二章 机器学习基本概念
  • 【RocketMQ 生产者和消费者】- 生产者发送同步、异步、单向消息源码分析(1)
  • 利用IEEE 802.15.4z-IR UWB系统进行手势检测
  • Python中scapy库详细使用(强大的交互式数据包操作程序和库)
  • 基于 Three.js 的文本粒子解体效果技术原理剖析
  • 002 dart刷题
  • 车载控制器的“机电一体化”深度集成
  • 自编码器Auto-encoder(李宏毅)
  • Go语言实现高性能分布式爬虫系统 - 设计与实践