我在 Java 教科书中阅读了以下与多线程有关的内容。
对于调用 wait() 或 notify() 的线程,该线程必须是该对象的锁的所有者。当线程等待时,它会暂时释放锁以供其他线程使用,但它会再次需要它来继续执行。
我对条款的含义感到困惑
当线程等待时,它会暂时释放锁以供其他线程使用
我不明白那个条款在说什么。是说当wait()
方法被调用时,它实际上是在wait()
返回之前释放锁(即这发生在调用者不知道的情况下)?或者它只是暗示wait(timeout)
在超时时间过去时释放锁?如果是前者,为什么要先释放锁notify()
?这似乎是一个模糊且解释不清的陈述。
RISEBY
MMMHUHU
Qyouu
相关分类