javaスレッド状態をどのように判断しますか
Javaスレッドの状態は、Threadクラスが提供するgetState()メソッドで確認できます。getState()メソッドはスレッドの状態を示す列挙型値を返します。よく使用される列挙型値は次のとおりです。1. NEW: スレッドが作成されたばかりで、まだ開始されていない。2. RUNNABLE: スレッドが実行中。3. BLOCKED: スレッドがロックリソースを待機しているためにブロックされている。4. WAITING: スレッドが別のスレッドの特定の操作を待機している。5. TIMED_WAITING: スレッドが別のスレッドの特定の操作を待機しているが、待機時間に制限がある。6. TERMINATED: スレッドの実行が完了したか、中断された。サンプルコードは次のとおりです。
Thread.State state = thread.getState(); if(state == Thread.State.NEW) {
System.out.println(“线程状态:NEW”); } else if(state == Thread.State.RUNNABLE) {
System.out.println(“线程状态:RUNNABLE”); } else if(state == Thread.State.BLOCKED) {
System.out.println(“线程状态:BLOCKED”); } else if(state == Thread.State.WAITING) {
System.out.println(“线程状态:WAITING”); } else if(state == Thread.State.TIMED_WAITING) {
System.out.println(“线程状态:TIMED_WAITING”); } else if(state == Thread.State.TERMINATED) {
System.out.println(“线程状态:TERMINATED”); }
getState()メソッドでは、現在のスレッドの状態のみを取得でき、他のスレッドの状態は取得できないことに注意する必要があります。