在
CountDownLatch
的文档中,我看到了以下内容:
public void run() { try { startSignal.await(); doWork(); doneSignal.countDown(); } catch (InterruptedException ex) {} // return; }
这里的 startSignal
和 doneSignal
是 CountDownLatch
对象。
文档没有提到该类是否线程安全。
countDown
方法。方法签名并没有说明它是同步的:public void countDown()
。 - treecoderCountDownLatch
保证了await
方法会阻塞,直到countDown()
方法被调用了指定的次数,无论有多少个线程同时调用它。 - Misha