58.CountdownLatch
用来进行线程同步协作,等待所有线程完成倒计时。
构造参数用来初始化等待计数值,await方法用来等待计数归零,countDown方法用来让计数减一。
CountdownLatch普通使用
@Slf4j
public class CountdownLatchDemo {
public static void main(String[] args) {
CountDownLatch countDownLatch = new CountDownLatch(3);
new Thread(() -> {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
log.debug("t1 ready");
countDownLatch.countDown();
}, "t1").start();
new Thread(() -> {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
log.debug("t2 ready");
countDownLatch.countDown();
}, "t2").start();
new Thread(() -> {
try {
Th