我需要一些帮助来了解使用 CountDownLatch 相对于传统等待通知的优势。我认为 notifyAll() 确实做同样的事情,而且似乎更容易使用(可能是因为熟悉)。
另外, CountDownLatch 的 wait() 和 await() 有什么区别?
谢谢 !
编辑:我想我需要改写我的查询:
Await() 根据文档说:
使当前线程等待直到锁存器倒计时到零,除非线程被中断。
对我来说,很难看出 wait() 和 await() 之间的区别 - await() 确实在掩护下使用了 wait() ,并且当计数达到零时似乎有一个隐式 notifyAll() 。
我的意思是,为什么我不应该简单地使用 wait-notifyAll() 机制(使用我自己的计数器变量处理),而不是使用 CountDownLatch ?