这里要介绍的构造函数
int threadSize=11;
CountDownLatch countDownLatch=new CountDownLatch(threadSize);
这个就是说,有11个线程需要等待
countDown();
// 导致当前线程等到锁存器计数到零(官方的定义) 注意是当前线程
//如果当前计数为零,则此方法立即返回。
//如果当前计数大于零,则当前线程将被禁用以进行线程调度,并处于休眠状态,直至发生两件事情之一:
//由于countDown()方法的调用,计数达到零; 要么
//一些其他线程interrupts当前线程。
注意是当前线程
// 导致当前线程等到锁存器计数到零(官方的定义) 注意是当前线程
countDownLatch.await();
package whatIsThread;
import java.util.concurrent.CountDownLatch;
public class CountDownLatchDemo {
public static void main(String[] args) throws InterruptedException {
int threadSize=11;
CountDownLatch countDownLatch=new CountDownLatch(threadSize);
for(int i=0;i<10;i++) {
Thread thread=new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
countDownLatch.countDown();
}
});
thread.start();
}
Thread thread=new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
countDownLatch.countDown();
for(;;) {
}
}
});
countDownLatch.await();
System.out.println("over");
}
}