java - 在 jvisualvm 中获取正在运行的非守护线程列表

标签 java multithreading daemon jvisualvm

我正在对一个不正常的关闭进行故障排除,所以我想获得一个在 jvisualvm(或其他)中运行的非守护线程的列表来寻找罪魁祸首。

最佳答案

jstack 转储所有线程,有一个文本会告诉它是否是守护进程

( jvisualvm 在“ThreadDump”中产生相同的输出- See this link for more useful documentation

 "Reference Handler" daemon prio=10 tid=0x00a98400 nid=0x1ee8 in Object.wait() [0x00b6f000]
           java.lang.Thread.State: WAITING (on object monitor)
                at java.lang.Object.wait(Native Method)
                at java.lang.Object.wait(Object.java:485)
                at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
                - locked <0x19835fa0> (a java.lang.ref.Reference$Lock)
    
    "VM Thread" prio=10 tid=0x00a95800 nid=0x264 runnable

关于java - 在 jvisualvm 中获取正在运行的非守护线程列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8984413/

相关文章:

java - 队列不适用于线程?

c++ - Linux 守护进程 - 运行函数两次

php - 从 PHP 启动守护进程

java - 如何使用 Selenium WebDriver 进行拖放操作

java - 解析从谷歌翻译的 translate_a 返回的响应

java - 如何在 jboss 6 上的 HornetMQ 中设置主题

java - Java 守护线程是否与生成进程共享堆或 Perm Gen?

java - CallStaticBooleanMethodV 的返回类型与 Java 方法签名不匹配 - 从 C/C++ 调用 Java 方法

Android RXJava 清理解决方案

python - PySide QThread.terminate() 导致致命的 python 错误