问答详情
源自:4-4 Java线程交互之深入剖析互斥与同步

是否可以将synchronized块中的while替换为if?

既然唤醒后还要竞争锁,那么可不可以把while语句替换成if语句?

提问者:CQUMonk 2014-12-08 14:30

个回答

  • Arthur
    2014-12-09 12:22:55
    已采纳

    不可以,因为唤醒并获得了锁之后,是从上一次调用wait()的地方之后开始执行,这样if将不能阻挡不合要求的处理。