特点:计数器的值减为0才往下执行。

    1. import java.util.concurrent.CountDownLatch;
    2. // 计数器
    3. public class CountDownLatchDemo {
    4. public static void main(String[] args) throws InterruptedException {
    5. // 总数是6,必须要执行任务的时候,再使用!
    6. CountDownLatch countDownLatch = new CountDownLatch(6);
    7. for (int i = 1; i <=6 ; i++) {
    8. new Thread(()->{
    9. System.out.println(Thread.currentThread().getName()+" Go out");
    10. countDownLatch.countDown(); // 数量-1
    11. },String.valueOf(i)).start();
    12. }
    13. countDownLatch.await(); // 等待计数器归零,然后再向下执行
    14. System.out.println("Close Door");
    15. }
    16. }