スレッドのステータスはどのように確認できますか?

Javaでは、スレッドの状態を確認するためにスレッドクラスのgetState()メソッドを使用できます。getState()メソッドはスレッドの状態を表すThread.State列挙型を返します。例を以下に示します。

public class ThreadStatusExample {

public static void main(String[] args) {

 

Thread thread = new Thread(() -> {

 

try {

 

Thread.sleep(1000);

 

} catch (InterruptedException e) {

 

e.printStackTrace();

 

}

 

});

 

System.out.println(“线程状态:” + thread.getState());

 

thread.start();

 

System.out.println(“线程状态:” + thread.getState());

 

try {

 

thread.join();

 

} catch (InterruptedException e) {

 

e.printStackTrace();

 

}

 

System.out.println(“线程状态:” + thread.getState());

 

} }


上の例では、スレッドを作成し、getState()メソッドによりスレッドの状態を出力しました。スレッドをスタートする前は状態はNEW、スタート後はRUNNABLE、join()メソッドによりスレッドの実行完了を待ってからはTERMINATEDとなります。

bannerAds