作者silver8250 ((阿信))
看板java
标题Re: wait和notify的问题
时间Sat Mar 10 00:49:38 2007
※ 引述《[email protected] (夏杰)》之铭言:
: java中的wait和notify我一直搞不太懂,问题是这样的
: 我run了3个thread分别是A,B,C
: 当A.wait()之後,就会进入wait pool中...随後B.wait()也进入wait pool
: 此时wait pool中有两个wait分别是A和B
: 而running中的C.notify()...
: 我的问题就在这里~~C.notify会唤醒A还是唤醒B??
: 还是由系统决定要唤醒A或B??
: 可以由程式中指定要唤醒谁吗?
想要指定唤醒谁是必须经由人工另外处理
你可以将A跟B被唤醒後,立刻做检查条件
不符合条件就继续wait
当有人需要叫醒A(举例),就先设定让A可以通过检查条件,再notifyAll
这样即使A跟B都被叫醒,但只有A可以通过检查条件,B依然会继续wait
我想这样应该就可以达到由程式决定被唤醒者
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.59.64.166