Java线程无法执行同步语句时会发生什么?

时间:2018-12-15 03:24:53

标签: java multithreading

Java线程A无法执行同步语句,因为另一个线程获得了监视器。
线程A是否由JVM排队?
以及如何通过1)或2)激活线程A?

  1. 一旦释放监视器,JVM将发出此信号,则线程A可能会被激活
  2. JVM将在一段时间内检测监视器是否可用,如果监视器可用,则线程A可能被激活

1 个答案:

答案 0 :(得分:1)

Java语言规范在17.1 Sysnchronization部分中进行了说明:

  

[...]一次只能有一个线程在监视器上保持锁。任何   尝试锁定该监视器的其他线程被阻止,直到它们   可以在该监视器上获得锁定。 [...]