问答详情
源自:4-4 Java线程交互之深入剖析互斥与同步
是否可以将synchronized块中的while替换为if?
既然唤醒后还要竞争锁,那么可不可以把while语句替换成if语句?
提问者:CQUMonk
2014-12-08 14:30
个回答
Arthur
2014-12-09 12:22:55
已采纳
不可以,因为唤醒并获得了锁之后,是从上一次调用wait()的地方之后开始执行,这样if将不能阻挡不合要求的处理。
1