【问题标题】:how does jvm detects deadlock condition. What is the data structure and algorithm JVM implements to detect htread deadlock.jvm如何检测死锁情况。 JVM检测htread死锁的数据结构和算法是什么。
【发布时间】:2012-11-01 12:04:47
【问题描述】:

我一直在尝试查找 JVM 是否有某种方法来查找某些线程是否处于死锁状态。我找不到任何东西。如果你们中的任何人对此有任何指示,请告诉我。

【问题讨论】:

标签: java multithreading jvm


【解决方案1】:

您可以使用ThreadMXBean JMX bean。

ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(true, true);
long[] deadlockedThreads = threadMXBean.findDeadlockedThreads();
long[] monitorDeadlockedThreads = threadMXBean.findMonitorDeadlockedThreads();

【讨论】:

    【解决方案2】:

    不,JVM 本身不支持死锁检测。
    有一个线程处理JVM和死锁,也标记为已解决:Link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-26
      • 1970-01-01
      相关资源
      最近更新 更多