gpt4 book ai didi

java - 如何使用 jstack 查找阻塞线程

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:40:45 25 4
gpt4 key购买 nike

使用 jstack 我得到了一个正在运行的线程树。

  1. 以下 Thread.State 的含义是什么:

    • 等待
    • TIMED_WAITING
    • 可运行
  2. tid 和 nid 是什么意思?

  3. 一个Thread的标题是这样的

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

    • 如何导航到“等待条件”地址的源代码行

最佳答案

  1. WAITING 表示线程正在等待某事。通常您会看到“WAITING (on object monitor)”,这意味着它正在等待 notify()。 TIMED_WAITING 是 WAITING 的变体,其中线程有最大等待时间限制。 RUNNABLE 表示当 jstack 运行时线程当前正在执行一些代码。

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

  3. 我使用的是 Eclipse 插件 http://lockness.plugin.free.fr/可能会感兴趣。使用此工具可以快速导航到源代码和行。

关于java - 如何使用 jstack 查找阻塞线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8255601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com