ホームページ >Java >&#&チュートリアル >Java プログラムで実行中のすべてのスレッドをプログラムで一覧表示するにはどうすればよいですか?

Java プログラムで実行中のすべてのスレッドをプログラムで一覧表示するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-14 21:10:14968ブラウズ

How Can I Programmatically List All Running Threads in a Java Program?

プログラムで Java で実行されているスレッドをリストする

Java には、Java 仮想マシン (JVM) 内のすべてのアクティブなスレッドをリストするための組み込みメカニズムが用意されています。これには、現在のクラスによって作成されたスレッドと、外部プロセスによって開始されたスレッドが含まれます。

反復可能なスレッド セットの取得

実行中のすべてのスレッドの反復可能なセットを取得するには、次のコードを利用します。

Set<Thread> threadSet = Thread.getAllStackTraces().keySet();

このアプローチでは、パフォーマンスのオーバーヘッドが軽減され、通常は適切な数のスレッド (例: Windows 10 で実行されている Azul JVM 16.0.1 環境の 12 スレッドの場合は 0 ミリ秒)。

スレッドおよびクラス オブジェクトの取得

さらに、に関連付けられた Thread オブジェクトと Class オブジェクトを抽出することも可能です。リスト内の各スレッド:

for (Thread thread : threadSet) {
    String threadName = thread.getName();
    Class<?> threadClass = thread.getClass();
}

これにより、スレッドのプロパティとクラス情報を検査できます。スレッドの名前とそれを作成した Java クラス。

以上がJava プログラムで実行中のすべてのスレッドをプログラムで一覧表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。