15:34时老师是不是口误了?

15:34时老师是不是口误了?

她原话是if(!flag) flag为false时执行wait ()的代码,之前flag已赋值为false,!flag  应为true 也就是瓶子里有数据才能消费,对吗?

正在回答

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

2回答

同学你好,同学的理解是正确的。不过不是进程是线程哦。

http://img1.sycdn.imooc.com//climg/60dd2b8609bc9ec505010052.jpg

是先生产再消费的,生产结束后flag=true,消费结束后flag=false,所以当!flag为真时,表示还未生产或生产的已全部被消费,故需要使当前消费线程处于wait()状态。

感谢同学提出的建议,会及时反馈给相关老师。

祝学习愉快~

晓舟 提问者 2021-07-01 07:26:21

抱歉没有口误,因为是先生产再消费和前面那个默认赋值没有关系, 我这边重新理解一下,因为是先生产再消费的顺序,当生产完成以后flag为true,所以! flag就需要先暂停这个进程等待另一个生产进程先执行,产生数据以后再执行下面的语句,对吗?

  • 提问者 晓舟 #1

    因为程序执行的顺序是先生产再消费,所以老师也按这个顺序讲代码会不会更清晰一些♥

    2021-07-01 07:52:17
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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