正确使用Object.wait和Object.notify
1. 前言
现在的代码实现里面几乎不用Object.wait和Object.notify了,但是对其进行学习还是有助于理解为啥他们被Locksupport.park和unpark替换了。
2. 使用汇总
关于完整使用,参考文章:如何在 Java 中正确使用 wait, notify 和 notifyAll – 以生产者消费者模型为例
文章中使用wait的生产者和消费者例子可以看看。
主要要点是:
对需要线程间互斥的对象用synchronized,持有其监视器锁
永远在循环(loop)里调用 wait 和 notify, 主要避免条件不满足是就被虚假唤醒,可能导......