基于 JDK 1.8 源码的 CountDownLatch 核心原理分析。
一、核心定位与设计初衷
1.1 定义
CountDownLatch 是基于 AQS 共享模式(Shared Mode)实现的同步辅助类,用于协调多个线程之间的执行顺序。核心语义:一个或多个线程阻塞等待,直到其他线程完成一系列操作后释放。
1.2 两种典型场景
| 场景 | 描述 | 模型 |
|---|---|---|
| 多等一 | 多个工作线程等待一个信号,如压测时统一发令 | 主线程 countDown,工作线程 await |
| 一等多 | 一个线程等待多个任务完成,如主线程等待资源初始化 | 工作线程 countDown,主线程 await |
2025/12/20...大约 5 分钟
