8

jstack を使用して、実行中のスレッドのツリーを取得しました。

  1. 次の Thread.State の意味は何ですか:

    • 待っている
    • TIMED_WAITING
    • 実行可能
  2. tid と nid とはどういう意味ですか?

  3. スレッドのタイトルは

    「イベントバッチ処理 (Spring UAA/1.0.2)」デーモン prio=10 tid=0x0000000041e27800 nid=0x363b 条件 [0x00007f9a89267000] で待機中

    • 「waiting-on-condition」アドレスのソースコード行に移動するにはどうすればよいですか
4

1 に答える 1

12
  1. WAITING は、スレッドが何かを待っていることを意味します。通常、notify() を待っていることを意味する「WAITING (on object monitor)」と表示されます。TIMED_WAITING は、スレッドが待機する最大時間制限がある WAITING のバリアントです。RUNNABLE は、jstack が実行されたときにスレッドが現在何らかのコードを実行していることを意味します。

  2. 「tid」は、スレッドが JVM 内に持っているスレッド ID です (メモリーアドレスの可能性があります)。「nid」はネイティブ スレッド ID (16 進数) です。一部の Linux システムでは、この ID はプロセス ID (この場合は 13883 (10 進数)) に直接マップされます。

  3. Eclipse プラグインhttp://lockness.plugin.free.fr/を使用しています。このツールを使用すると、ソース コードと行にすばやく移動できます。

于 2011-11-24T13:11:04.633 に答える