CountDownLatch
定义:让一些线程阻塞直到另一些线程完成一些列操作之后才被唤醒。
即使门闩的意思,给定一个数,当这个数被减到0时才能开始运行另一个线程。
主要有两个方法一个是await方法等待,一个是countDown方法让门闩减一。
实例代码:
public static void closeDoor() throws Exception{
CountDownLatch countDownLatch = new CountDownLatch(6);//初始化的时候必须给定一个初始门闩值
for(int i = 1; i <= 6; i++){
new Thread(()->{
System.out.println(Thread.currentThread().getName()+"\t 上完自习,离开教室");
countDownLatch.countDown();//让门闩减一
},String.valueOf(i)).start()