超详细!Java CountDownLatch 用法代码示例全解析
以下是一个 Java 中 `CountDownLatch` 的用法示例代码: ```java import java.util.concurrent.CountDownLatch; public class CountDownLatchExample { public static void main(String[] args) { // 创建一个初始计数值为 2 的 CountDownLatch CountDownLatch latch = new CountDownLatch(2); // 启动两个工作线程 new WorkerThread(latch, "Worker 1").start(); new WorkerThread(latch, "Worker 2").start(); try { // 等待 CountDownLatch 的计数值变为 0 latch.await(); System.out.println("所有工作完成!"); } catch (InterruptedException e) { e.printStackTrace(); } } static class WorkerThread extends Thread { private CountDownLatch latch; public WorkerThread(CountDownLatch latch, String name) { super(name); this.latch = latch; } @Override public void run() { try { System.out.println(getName() + " 正在工作..."); Thread.sleep(1000); System.out.println(getName() + " 工作完成!"); // 完成工作后,将 CountDownLatch 的计数值减 1 latch.countDown(); } catch (InterruptedException e) { e.printStackTrace(); } } } } ``` 在上述示例中,创建了一个 `CountDownLatch` 对象,初始计数值为 2。然后启动两个工作线程,每个工作线程完成工作后会调用 `countDown` 方法将计数值减 1。在主线程中,使用 `await` 方法等待计数值变为 0,表示所有工作线程都完成了工作。 ######[AI写代码神器 | 401点数解答 | 2024-08-07 14:11:51]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)408
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)24
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)309
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1143
- 超详细!Java CountDownLatch 用法代码示例全解析(字节豆包 | 401点数解答 | 2024-08-07 14:11:51)168
- 缜密逻辑,全新无名杀“风餐”技能代码精心打造与深度解析 (字节豆包 | 469点数解答 | 2025-04-05 11:37:06)242
- C++中scanf函数的用法详解与注意要点(字节豆包 | 830点数解答 | 2026-02-25 21:02:17)18
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)265
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)263
- Android开发必看:CountDownLatch实现线程同步实战示例(阿里通义 | 426点数解答 | 2023-11-08 00:27:57)196
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)278
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)308