thread dump 代码
Thread-8" id=475 idx=0x2dc tid=1220 prio=5 alive, waiting, native_blocked, daemon
-- Waiting for notification on: com/hth/base/util/pool/ThreadPool@0x1071f1590[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)
at com/hth/base/util/pool/ThreadPool.run(ThreadPool.java:146)
^-- Lock released while waiting: com/hth/base/util/pool/ThreadPool@0x1071f1590[fat lock]
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)
-- end of trace
这段代码是有问题的,还是正常的?Waiting for notification on:,^-- Lock released whilewaiting:是什么意思 ?他们都指向com/hth/base/util/pool/ThreadPool@0x1071f1590[fat lock]。
请指点
Thread-8" id=475 idx=0x2dc tid=1220 prio=5 alive, waiting, native_blocked, daemon
-- Waiting for notification on: com/hth/base/util/pool/ThreadPool@0x1071f1590[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)
at com/hth/base/util/pool/ThreadPool.run(ThreadPool.java:146)
^-- Lock released while waiting: com/hth/base/util/pool/ThreadPool@0x1071f1590[fat lock]
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)
-- end of trace
这段代码是有问题的,还是正常的?Waiting for notification on:,^-- Lock released whilewaiting:是什么意思 ?他们都指向com/hth/base/util/pool/ThreadPool@0x1071f1590[fat lock]。
请指点
^-- Lock released whilewaiting
这个也很正常,当你对某对象进行wait()操作的时候,之前用过synchronized对该对象所获得的独占锁就会释放。
其实还有段代码是Holding lock: java/net/SocksSocketImpl@0x101feed50[thin lock],也曾是怀疑的部分,其它的部分好像没问题啊
-- Waiting for notification on: com/hth/base/util/pool/ThreadPool@0x1071f1590[fat lock]
这个ThreadPool的实现是否存在问题,不能从该堆栈信息中看出来。