考虑以下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
)同时是locked
和waited on
- 它是什么意思?
答案 0 :(得分:4)
它更像是一个无限的等待()。在id2
拥有的监视器上会说像id1这样的东西是BLOCKED