Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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 如何使用jstack查找阻止线程_Java_Jstack - Fatal编程技术网

Java 如何使用jstack查找阻止线程

Java 如何使用jstack查找阻止线程,java,jstack,Java,Jstack,使用jstack,我得到了一个运行的线程树 以下线索的含义是什么。州政府: 等待 定时等待 可运行 什么是tid和nid 线程的标题类似于 “事件批处理(Spring UAA/1.0.2)”守护进程prio=10 tid=0x0000000041e27800 nid=0x363b等待条件[0x00007f9a89267000] 如何导航到“等待条件”地址的源代码行 等待意味着线程正在等待某些内容。通常您会看到“正在等待(在对象监视器上)”,这意味着它正在等待通知()。TIMED_WAIT

使用jstack,我得到了一个运行的线程树

  • 以下线索的含义是什么。州政府:

    • 等待
    • 定时等待
    • 可运行
  • 什么是tid和nid

  • 线程的标题类似于

    “事件批处理(Spring UAA/1.0.2)”守护进程prio=10 tid=0x0000000041e27800 nid=0x363b等待条件[0x00007f9a89267000]


    • 如何导航到“等待条件”地址的源代码行
  • 等待意味着线程正在等待某些内容。通常您会看到“正在等待(在对象监视器上)”,这意味着它正在等待通知()。TIMED_WAITING是WAITING的一种变体,线程有一个最大等待时间限制。RUNNABLE意味着当jstack运行时,线程当前正在执行一些代码

  • “tid”是线程在JVM中的线程ID(可以是内存地址)。“nid”是本机线程id(十六进制)。在某些Linux系统上,此ID直接映射到进程ID(在您的情况下为13883(十进制))

  • 如果您使用的是Eclipse,那么这个插件可能会引起您的兴趣。使用此工具可以快速导航到源代码和行


  • “如何导航到“等待条件”-地址的源代码行”:为此,您需要查看该线程的堆栈跟踪。等待条件[0x000….]该数字代表什么?