关于CountDownLatch,我从以下几方面进行讲解:
1、百度说明
同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。即,一组线程等待某一事件发生,事件没有发生前,所有线程将阻塞等待;而事件发生后,所有线程将开始执行;闭锁最初处于封闭状态,当事件发生后闭锁将被打开,一旦打开,闭锁将永远处于打开状态。
2、个人理解
执行一件事情,需要等几件事情全部执行完之后才能执行这件事情。比如:要想执行A功能,需要等B、C、D全部执行完之后,再去执行A功能。
3、代码示例
public class SimpleClient {
private static ExecutorService executor = new ThreadPoolExecutor(10,20,20, TimeUnit.MINUTES, new ArrayBlockingQueue<>(10));
public static void main(String[]