多线程之CountDownLatch(线程计数器)应用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35977237/article/details/80548797

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("主线程执行完毕。。。。");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_35977237/article/details/80548797