gpt4 book ai didi

java - 当我们使用错误的notify()时会发生什么?

转载 作者:行者123 更新时间:2023-12-01 13:09:24 27 4
gpt4 key购买 nike

如果其他线程等待不同的条件,我们应该调用notifyAll(),这样每个其他线程都有机会获得执行。

但是我们犯了一个错误,我们假设所有线程都在等待同一个条件,我们调用notify(),让JVM选择一个线程,但是选择的线程无法运行,因为条件仍然不能满足,那么会发生什么呢?

所有线程停止运行?或者JVM继续选择另一个线程来唤醒,就像notifyALL()一样?

最佳答案

JVM 无法继续选择另一个线程来唤醒,因为重新进入等待的决定发生在更高级别的逻辑上,超出了线程调度程序的“范围”。所以是的,在您描述的场景中,所有线程都将继续等待。

关于java - 当我们使用错误的notify()时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23010505/

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