有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    1. 在调用wait/notify时必须同步:Yes

    2. 为什么:考虑不需要同步。这意味着一个线程a可以在另一个线程B(在同一个对象上)调用wait()的同时调用notify()。假设线程B已经执行了wait()方法的一部分,并且被上下文切换为服务线程A。那么wait的内部数据结构现在可能处于损坏状态。现在,notify()方法基本上在相同的数据结构上工作,现在处于无效状态。因此,整个等待/通知过程可能会发生变化。同步可以保证,如果已经有对其中一个方法的调用,则其他方法无法调用wait/notify