【发布时间】:2012-11-01 12:04:47
【问题描述】:
我一直在尝试查找 JVM 是否有某种方法来查找某些线程是否处于死锁状态。我找不到任何东西。如果你们中的任何人对此有任何指示,请告诉我。
【问题讨论】:
标签: java multithreading jvm
我一直在尝试查找 JVM 是否有某种方法来查找某些线程是否处于死锁状态。我找不到任何东西。如果你们中的任何人对此有任何指示,请告诉我。
【问题讨论】:
标签: java multithreading jvm
您可以使用ThreadMXBean JMX bean。
ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(true, true);
long[] deadlockedThreads = threadMXBean.findDeadlockedThreads();
long[] monitorDeadlockedThreads = threadMXBean.findMonitorDeadlockedThreads();
【讨论】:
不,JVM 本身不支持死锁检测。
有一个线程处理JVM和死锁,也标记为已解决:Link
【讨论】: