countDownLatch.await(5, TimeUnit.SECONDS) 在等待超时会返回false
ExecutorService executorService = Executors.newFixedThreadPool(2);
CountDownLatch countDownLatch = new CountDownLatch(5);
Runnable task = () -> {
try {
Thread.sleep(1000);
System.out.println(executorService);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
countDownLatch.countDown();
}
};
for (int i = 0; i < 10; i++) {
executorService.submit(task);
}
System.out.println(countDownLatch.await(5, TimeUnit.SECONDS));
System.out.println("over");