日期:2014-05-20  浏览次数:20716 次

多线程程序中如何检测死锁? 能否用一守护线程对运行中的线程监控?
怎么样才算死锁了? 如何用程序监控到?

------解决方案--------------------
可以通过jdk中自带的jconsole检查
------解决方案--------------------
设置一个TIMEOUT时间, 时间过长了 很可能就是死锁了。
------解决方案--------------------
JDK中自带的jstack <processID>,会输出一个报告。processID就是JVM的process ID。可以通过对自己调用这个程序,然后分析输出的报告:这是最土最笨但是最简单的方法。