CountDownLatch
CountDownLatch可以看作是一个减法计数器。CountDown代表计数递减,Latch是“门闩”的意思。也有人把它称为“屏障”。假设某个线程在执行任务之前,需要等待其它线程完成一些前置任务,必须等所有的前置任务都完成,才能开始执行本线程的任务。
看下面一段代码
public class CountTest {
public static void main(String[] args) throws InterruptedException {
//总数是10,必须要执行任务的时候,再使用
CountDownLatch countDownLatch = new CountDownLatch(10);
for(int i=0; i<10; i++) {
new Thread(()->{
System.out.println(Thread.currentThread().getName()+" Go out");
countDownLatch.countDown(); //数量减1
},String.valueOf(i)).start();
}
countDownLatch.await()