CountDownLatch
CountDownLatch是 java.util.concurrent 包下的线程同步类,并发环境下线程对计数值减1操作,当计数值为0时,被wait阻塞的线程将被唤醒,达到线程同步. 该类涉及到的主要方法: // 当前线程在计数值减到0之前一直等待,除非当前线程被中断 void await() // 当前线程在计数值减到0之前一直等待,除非当前线程被中断或者超过了指定的等待时间 boolean await(long timeout, TimeUnit unit) // 减少计数值,当计数值减到0时,释放所有的等待线程 void countDown() // 返回当前计数值 long getCount() 示例: CountDownLatch countDownLatch = new CountDownLatch(3); ExecutorService executorService = Executors.newFixedThreadPool(3); for (int i = 0; i < 3; i++) { int finalI = i; executorService.execute(new Runnable() { @Override public void run() { System.out.println("任务执行结束啦,i:" + finalI + "," +