5

考虑以下 Java\Tomcat 线程转储:

"http-0.0.0.0-4080-4" daemon prio=10 tid=0x0000000019a2b000 nid=0x360e in Object.wait() [0x0000000040b71000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00002ab5565fe358> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at java.lang.Object.wait(Object.java:485)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
    - locked <0x00002ab5565fe358> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
    at java.lang.Thread.run(Thread.java:662)

这是一个僵局吗?似乎同一个资源 ( 0x00002ab5565fe358) 都是lockedwaited on- 这是什么意思?

4

1 回答 1

4

它更像是一个无限的等待()。它会说像 id1 在 id2 拥有的监视器上被 BLOCKED

于 2012-10-21T14:40:19.630 回答