应用场景
1、当主程序需要获取线程的执行结果,并根据执行结果做下一步处理时使用
2、主线程需要等待子线程执行完成后执行
实现步骤:
1、在主程序或者主线程内创建CountDownLatch属性,同时进行初始化
CountDownLatch countDownLatch = new CountDownLatch(n);//n为需要执行的子线程个数
2、创建子线程需要传递countDownLatch,并在子线程执行完成后执行
countDownLatch.countDown();
3、在主程序或者主线程执行前执行
countDownLatch.await();
注:countDownLatch.countDown()会在子线程执行完成后对CountDownLatch的count进行减1,所有的子线程执行完成后,count会为0,此时开始执行countDownLatch.await()后面的代码部分