为了账号安全,请及时绑定邮箱和手机立即绑定

While(energy[from]<amount){lockObj.wait()}

这里为什么用while循环 有什么作用

正在回答

5 回答

你尝试一下把while改成if 还是守恒的

1 回复 有任何疑惑可以回复我~
#1

阿Dine

老师解释了一下 是因为 //被唤醒的线程会从上一次调用wait()的地方之后开始执行 我们仍需要重复判断
2018-07-31 回复 有任何疑惑可以回复我~

應爲他這樣寫不是表示只有一個線程獲得了鎖進入了下面的代碼,while說明有很多線程進入來判斷是否滿足條件

0 回复 有任何疑惑可以回复我~

是一个 持续 很长时间,多次询问的  过程。所以需要 while

0 回复 有任何疑惑可以回复我~
#1

笙__笙 提问者

很难理解
2017-11-22 回复 有任何疑惑可以回复我~

为什么不用 if

0 回复 有任何疑惑可以回复我~

能量不守恒 即  energy[from]<amount    说明 没有资源。

需要等待 有可用资源的 时候 才能执行下面的 业务逻辑


1 回复 有任何疑惑可以回复我~
#1

笙__笙 提问者

为什么不用 if
2017-11-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

While(energy[from]<amount){lockObj.wait()}

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信