notify() 还是 notifyAll()
来源:7-6 用wait/notify实现

Barea
2020-06-15
老师, 如果在考虑有多个生产者和多个消费者的时候, 用notifyAll()是不是更加科学一些? 比如某个时刻有三个消费者, 他们都在wait, 因为这时候storage已经空了. 此时一个生产者拿到锁并且放入了一个product进入storage并调用了notifyAll(), 然后所有消费者都可以开始竞争锁. 当然其实在最后运行阶段可能看不出什么区别, 因为到头来put()和take()方法都用了synchronized修饰符, 所以在某一时刻最多只有一个消费者或者生产者在操作storage. 老师我这样理解不知对不对? 谢谢
写回答
1回答
-
你的理解是对的
112020-06-15
相似问题
notify和wait的疑惑
回答 1
如何唤醒线程A让它释放锁
回答 1