从另一个线程阻止java方法

unftdfkk  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(346)

如果一个方法在wait语句中被阻塞,那么另一个线程是否可以调用该方法/是否将执行print语句?谢谢

synchronised test() {
sysout("not blocked");
wait();
}
zzlelutf

zzlelutf1#

一个常见的误解是方法被锁定。事实上 this 已锁定。这意味着您可以为不同的对象调用相同的方法,而无需使用 wait() 相反,如果一个线程获得了锁,这将排除该对象的任何其他方法中的任何其他锁定部分。
等待线程释放当前锁,以便其他方法可以获得同一对象上的锁。这也意味着线程必须重新获取锁才能停止等待。

相关问题