Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们是否可以保证给定线程显示的堆栈跟踪及其头描述(在线程转储中)总是一致的?_Java_Jvm_Thread Dump - Fatal编程技术网

Java 我们是否可以保证给定线程显示的堆栈跟踪及其头描述(在线程转储中)总是一致的?

Java 我们是否可以保证给定线程显示的堆栈跟踪及其头描述(在线程转储中)总是一致的?,java,jvm,thread-dump,Java,Jvm,Thread Dump,当进行线程转储时,我们是否确定我们得到的结果必然是一致的?我的意思是,如果它告诉我它被阻止了,它真的被阻止了吗 "subscription-akka.actor.default-dispatcher-16" #165 prio=5 os_prio=31 tid=0x00007fce799da000 nid=0xd70b waiting for monitor entry [0x0000700006b01000] java.lang.Thread.State: BLOCKED (on obj

当进行线程转储时,我们是否确定我们得到的结果必然是一致的?我的意思是,如果它告诉我它被阻止了,它真的被阻止了吗

"subscription-akka.actor.default-dispatcher-16" #165 prio=5 os_prio=31 tid=0x00007fce799da000 nid=0xd70b waiting for monitor entry [0x0000700006b01000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at java.util.Formatter$Flags.parse(Formatter.java:4439)
        at java.util.Formatter$FormatSpecifier.flags(Formatter.java:2640)
        at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2709)
这似乎很荒谬(我正在使用的OpenJDK 8/Zulu上的这个类最近似乎没有任何变化)

对观察到的行为有(其他)好的解释吗


谢谢

我希望行号是错误的,而不是
阻塞的
状态。或者正在进行检测。毕竟,这一行上有一个分配,一个记录分配的监视工具可能会导致阻塞。一个有趣的方法是检查其他哪个线程有指定的监视器和wha该线程正在运行。@Holger I CTRL-F表示“锁定”或“同步”,但在整个文件中找不到任何内容。您的建议很好,我将看看是否可以获得整个线程转储。可能是这样的:
public static Flags parse(String s) {
            char[] ca = s.toCharArray();
  ->>> here Flags f = new Flags(0);
            for (int i = 0; i < ca.length; i++) {
                Flags v = parse(ca[i]);