Java 线程等待锁定它已经锁定的对象
Java thread waiting to lock object it already locked
分析线程转储,我有很多线程正在等待锁定一个已经锁定的监视器。在下面的示例中,监视器 0x000000044158d3d0 被同时获取和锁定。
关于这个案子有什么线索吗?
"ORB Run Thread" #124 prio=5 os_prio=0 tid=0x00007f16a81b6800
nid=0x76f3 in Object.wait() [0x00007f165eef2000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000044158d3d0> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at com.sun.corba.se.impl.orb.ORBImpl.run(ORBImpl.java:1238)
- locked <0x000000044158d3d0> (a java.lang.Object)
at org.wildfly.iiop.openjdk.service.CorbaORBService$ORBRunner.run(CorbaORBService.java:241)
at java.lang.Thread.run(Thread.java:748)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000044158d3d0> (a java.lang.Object)
线程未等待锁定对象。它正在等待另一个线程调用 notify()
or notifyAll()
.
分析线程转储,我有很多线程正在等待锁定一个已经锁定的监视器。在下面的示例中,监视器 0x000000044158d3d0 被同时获取和锁定。
关于这个案子有什么线索吗?
"ORB Run Thread" #124 prio=5 os_prio=0 tid=0x00007f16a81b6800
nid=0x76f3 in Object.wait() [0x00007f165eef2000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000044158d3d0> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at com.sun.corba.se.impl.orb.ORBImpl.run(ORBImpl.java:1238)
- locked <0x000000044158d3d0> (a java.lang.Object)
at org.wildfly.iiop.openjdk.service.CorbaORBService$ORBRunner.run(CorbaORBService.java:241)
at java.lang.Thread.run(Thread.java:748)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000044158d3d0> (a java.lang.Object)
线程未等待锁定对象。它正在等待另一个线程调用 notify()
or notifyAll()
.