第27篇:JUC并发工具类详解
模块:并发编程 |难度:进阶 |面试频率:★★★★★
1. CountDownLatch 和 CyclicBarrier 的区别?各自的使用场景?
核心区别
CountDownLatch 和 CyclicBarrier 是 JUC 中两个常用的同步辅助工具,它们的底层都基于 AQS 实现,但设计理念和适用场景截然不同。
| 对比维度 | CountDownLatch | CyclicBarrier |
|---|---|---|
| 同步机制 | 一个线程等待其他线程完成 | 多个线程互相等待到达屏障 |
| 计数方式 | 递减,不可重置 | 递减到 0 后可重置 |
| 可复用性 | 一次性,不可重复使用 | 可循环使用(Cyclic 含义) |