一个demo,调用了countDownLatch.await()之后,当countDownLatch的值为0时才会执行该语句下面的代码,否则会一直等待
如下参数为3,则是一直等待,因为只给了两个线程,只能建两次1
public class Demo {
public static void main(String[] args) throws InterruptedException {
CountDownLatch countDownLatch = new CountDownLatch(3);
new Thread(){
@Override
public void run() {
System.out.println("子线程1开始执行");
countDownLatch.countDown();//执行一次就减1
}
}.start();
new Thread(){
@Override
public void run() {
System.out.println("子线程2开始执行");
countDownLatch.countDown();
}
}.start();;
countDownLatch.await();
System.out.println("主线程开始执行");
}
}