package com.atguigu.javademo.juc;
//CountdowmLatch可以保证子线程全执行完毕后再进行主线程的执行操作
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
public class JUCDEmo4 {
public static void main(String[] args) throws Exception{
CountDownLatch latch = new CountDownLatch(3);//要执行三次计数减少
System.out.println(“主线程-等待所有的子线程执行完毕后再执行,当前的剩余计数为:”+latch.getCount());
for (int x = 0; x <5; x++) {
new Thread(()->{
try{
TimeUnit.SECONDS.sleep(3);
System.err.println(“子线程执行,当前的统计个数为:”+latch.getCount());
latch.countDown();
}catch (Exception e){
}
},“子线程-”+x).start();
}
latch.await();
System.out.println(“主线程为0,主线程恢复执行”);
}
}