Java 并发之同步工具
CountDownLatch
CountDownLatch
通过计数器实现线程间的“等待-通知”机制,适用于分阶段任务同步,但不可重复使用。CountDownLatch
允许一个或多个线程等待,直到其他线程完成一组操作后再继续执行。
典型场景:主线程等待多个子线程完成任务后再汇总结果。
CountDownLatch 原理
核心机制
- 计数器初始化:创建时指定初始计数值(如
new CountDownLatch(3)
)。 - 计数递减:子线程完成任务后调用
countDown()
,计数器减 1(线程不会阻塞)。 - 等待阻塞:主线程调用
await()
会阻塞,直到计数器归零(或超时)。
...大约 11 分钟