notify() 还是 notifyAll()

来源:7-6 用wait/notify实现

Barea

2020-06-15

老师, 如果在考虑有多个生产者和多个消费者的时候, 用notifyAll()是不是更加科学一些? 比如某个时刻有三个消费者, 他们都在wait, 因为这时候storage已经空了. 此时一个生产者拿到锁并且放入了一个product进入storage并调用了notifyAll(), 然后所有消费者都可以开始竞争锁. 当然其实在最后运行阶段可能看不出什么区别, 因为到头来put()和take()方法都用了synchronized修饰符, 所以在某一时刻最多只有一个消费者或者生产者在操作storage. 老师我这样理解不知对不对? 谢谢

写回答

1回答

悟空

2020-06-15

你的理解是对的

1
1
Barea
非常感谢!
2020-06-15
共1条回复

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程