我有时需要唤醒或挂起一个单独的线程,我想知道最好和最有效的方法是什么。
第一种解决方案是结合使用信号和
我在某处读到,使用java.concurrent库和
相关问题:在我的情况下(即如果只有一个线程),
第一种解决方案是结合使用信号和
wait-notify
(我知道如何正确实现这个模式,这不是问题)。我在某处读到,使用java.concurrent库和
CountDownLatch
进行信号传递更有效。我也查看了concurrent.locks.Condition,但是此主题表明,与notify/notifyAll
相比,它只是一个(程序员方面)更安全和通用的构造, 并没有性能上的优势。Peter Lawrey在此评论中建议使用Concurrency库而不是notify-notifyAll
,因此现在我很困惑应该如何最佳实践。相关问题:在我的情况下(即如果只有一个线程),
notify
和notifyAll
哪个性能更好?我知道有很多类似的线程,但其中没有一个给出清晰的答案。在我的情况下,从功能上讲,我使用哪个都无所谓,但我想知道哪个更快。