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 サイトの他の関連記事を参照してください。