CountDownLatch是一个辅助同步器类,用来做计数使用,它的作用有点类似于生活中的倒数计数器,先设定一个计数初始值,当计数降到0时,将会触发一些事件,如火箭的倒计时等。
初始计数值在构造CountDownLatch对象时传入,每调用一次countDown方法,计数值就会减1。
线程可以调用CountDownLatch的await方法进行阻塞,当计数值降到0时,所有之前调用await阻塞的线程都会释放。
注意:CountDownLatch的初始计数值一旦降到0,无法重置。如果需要重置,可以考虑使用CyclicBarrier。
具体原理与使用示例请查看https://segmentfault.com/a/1190000015886497