gpt4 book ai didi

java - Java中原子等待的实现

转载 作者:行者123 更新时间:2023-12-01 07:41:34 25 4
gpt4 key购买 nike

以下是 Java 中原子等待的翻译。这里需要什么whileif 还不够吗?

///<await (condition) statements; > 

synchronized(obj)
{
while ( !condition)
{
obj.wait();
}
statements;
}

最佳答案

实际上您需要它有两个原因。

首先,如果监视器所有者调用 notifyAll(),所有等待线程都会被一个接一个地唤醒,因此,如果前面的线程之一更改了条件,那么您对此的假设将不再成立.

第二个原因是Spurious wakeup 。由于大多数 JVM 实现都依赖于操作系统线程模型,并且其中一些允许虚假唤醒(为了性能),因此您需要为这种情况做好准备。

关于java - Java中原子等待的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4384536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com