正在回答
2回答
你好同学,如下图所示,可以看出线程的执行顺序是随机的,死锁是可能出现的问题,我将线程的执行顺序用可视化的文字打印出来了,如下是我将notifyAll方法注释掉的演示效果,可以看出在执行的过程中,会执行两次消费的代码,所以造成了消费的代码的if语句成立执行了wait方法,因为flag的值发生改变,生产者线程也进入了等待状态,所以建议同学在解决这类问题时,添加notify方法,避免发生死锁的问题
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星