我一直在尝试查找 JVM 是否有某种方法来查找某些线程是否处于死锁状态。我找不到任何东西。如果你们中的任何人对此有任何指示,请告诉我。
问问题
889 次
2 回答
1
您可以使用ThreadMXBean JMX bean。
ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(true, true);
long[] deadlockedThreads = threadMXBean.findDeadlockedThreads();
long[] monitorDeadlockedThreads = threadMXBean.findMonitorDeadlockedThreads();
于 2012-11-01T12:13:02.330 回答
0
不,JVM 本身不支持死锁检测。
有一个线程处理JVM和死锁,也标记为已解决:链接
于 2012-11-01T12:21:26.180 回答