CountDownLatch 用来计数,设置初始值,当计数器执行完成后,执行主线程
必须子线程执行完之后主线程才执行,倒计数计数器
/**
* @author: Syliu
* @Date: 2018/6/2 16:02
* @Description:
* 线程计数器
*/
public class CountDownLatchDemo {
public static void main(String[] args) throws InterruptedException {
final CountDownLatch countDownLatch = new CountDownLatch(2);
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(()->{
System.out.println("线程1执行完毕");
countDownLatch.countDown();
});
executor.submit(()->{
System.out.println("线程2执行完毕");
countDownLatch.countDown();
});
/**
* 阻塞点
*/
System.out.println("主线程等待子线程执行。。。。");
countDownLatch.await();
executor.shutdown();
System.out.println("主线程执行完毕。。。。");
}
}