生产等待消费,消费等待生产因而会产生死锁。为什么会同时产生两个等待呢?不太符合代码逻辑啊,因为flag为true或false时只有一个线程处于等待而另一个则会走if语句之后的代码啊!那就没有产生两个等待啊!怎么理解呢?谢谢!
登陆购买课程后可参与讨论,去登陆吧
同学,你好,例如:走到消费时,一判断没生产出来呢,所以就开始等待了,而生产完如果没有唤醒别的线程,所以这时消费永远都在等待中,这样就会产生死锁。祝学习愉快!
那为啥在没有notify方法前也会正常运行没有死锁呢?
这只是概率性的,并不是固定。但我们做的程序得保证它没有死锁,一次也不能出现。
好的,谢谢!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
46 56
1 26
26 24
90 24
0 24
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星