gpt4 book ai didi

java - 线程调用notify后会发生什么?

转载 作者:行者123 更新时间:2023-12-02 04:42:47 25 4
gpt4 key购买 nike

如果我有 T1 T2 T3 都已调用 wait 并在 waitset 中,如果 t4 调用notify,据我所知 - T1、T2 或 T3 之一将收到通知,并且可能会重新获取锁并从 wait 返回。没有收到通知的线程会发生什么?他们还会在等待吗?是否需要再次通知他们从 wait() 返回?

如果T4调用notify all,在获取锁后,只有t1 T2 T3中的一个会从wait返回。这样的话,由于T1T2和T3都收到了notify,会不会自动尝试获取锁并一一从wait返回?

最佳答案

线程被置于 RUNNABLE 而非 RUNNING 状态。这意味着对线程进行notify()并不一定意味着它会立即运行。因此,由调度程序决定接下来要从 RUNNABLE 线程池中运行什么。

关于java - 线程调用notify后会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6895765/

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