上篇JUC同步工具之Semaphore - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)示例中,资源释放一个线程就可以退出然后另一个线程可以使用了,那如果需要所有规定数量的资源同时释放了才可以退出,那如何实现同步呢?CountDownLatch. 从UML图中可以知道,CountDownLatch原理和Semaphore原理类似,同样是基于AQS,不过没有公平和非公平之分. 假设一个主线程要等待5个 Worker 线程执行完才能退出,看看使用CountDownLatch如何实现: 从…