程序在没有锁死之前,不也执行了wait(),吗,它是怎么结束这个等待的呢

程序在没有锁死之前,不也执行了wait(),吗,它是怎么结束这个等待的呢

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
chrismorgen 2019-03-01 10:48:37

你好同学,就是因为两个线程都执行了wait(),才造成死锁的,同学指的结束等待,是指通过notify()方法唤醒线程吗?祝学习愉快~

  • 提问者 慕哥6364264 #1
    程序刚开始执行的时候,输出生产1,消费1,生产2,消费2.....,在这个过程中也都调用了wait(),但是没锁死呀
    2019-03-01 20:48:37
  • chrismorgen 回复 提问者 慕哥6364264 #2
    那是因为程序在执行的过程中,一直没有执行if语句中wait()方法,所以没有产生死锁,一旦两个线程都执行了wait()方法,则会造成死锁,祝学习愉快~
    2019-03-03 10:17:36
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师