Tomcat线程等待并锁定相同的资源

时间:2012-10-21 10:26:17

标签: java multithreading tomcat concurrency locks

考虑以下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 - 它是什么意思?

1 个答案:

答案 0 :(得分:4)

它更像是一个无限的等待()。在id2

拥有的监视器上会说像id1这样的东西是BLOCKED