gpt4 book ai didi

java - 如果未调用 notify(),等待线程会发生什么情况?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:05:24 24 4
gpt4 key购买 nike

如果未调用 notify(),等待线程会发生什么情况?这是虚假唤醒吗?

最佳答案

如果等待线程未通过调用notify()notifyAll()通知 在所述线程正在等待的对象上,则可能发生以下任何一种情况:

  • Thread 一直在对象的等待池中等待
  • 如果指定了超时并且时间过去了,Thread 将变为runnable
  • 线程中断 并再次变得可运行
  • Thread 完全没有的原因被唤醒,即它既没有被通知也没有被中断

最后一种情况被称为虚假唤醒,这也是为什么Thread 唤醒时应该始终检查它是否正在等待的条件的原因之一因为是真的还是假的。如果没有,Thread 应该调用并再次执行 wait()

关于java - 如果未调用 notify(),等待线程会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29331961/

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