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

线程在wait()之后...

54992e250001839305000231.jpg

    这里我假设 线程A 的energyBoxes[from]=50,amount=100,因为50<100,所以肯定会调用wait()方法,当 线程A 被其他线程唤醒后,energyBoxes[from]的值还是50,amount的值还是100吗?如果是,那就是说,线程A会一直卡在这段代码中,不能往下运行的意思吗?

    另外我想问,当线程被唤醒后,线程是从while (energyBoxes[from] < amount) 这段代码开始运行吗 ?

正在回答

2 回答

你得理解是正确的,这就是为什么使用了一个while循环来阻挡不符合条件的操作。

每次被唤醒并获得锁后,都是从wait之后的地方继续循环。

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

HUNO焜 提问者

非常感谢!
2014-12-23 回复 有任何疑惑可以回复我~

嗯。祝学习愉快

qzwt

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

举报

0/150
提交
取消

线程在wait()之后...

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