CountDownLatch complteLatch = new CountDownLatch(1);
主要方法 complteLatch.await();
complteLatch.await(timeout, unit); 多长时间自动唤醒
complteLatch.countDown(); // 唤醒await
用法:
- 在第一个子线程A中,new Thread B,然后 使用complteLatch.await(timeout, unit);
当在线程B中拿到想要的结果后,调用complteLatch.countDown();唤醒线程A,相当于A等待B执行完,拿到B的结果继续往下执行。或者等待5s(例子)没有获得结果(timeout),A会不管B继续向下执行。
缺点:每次使用CountDownLatch 以后都要重新new一个CountDownLatch 对象,即不能复用