public static enum Thread.State extends Enum<Thread.State>
NEW
RUNNABLE
BLOCKED
WAITING
TIMED_WAITING
TERMINATED
スレッドは特定の時点で 1 つの状態しか取れません。これらの状態は、オペレーティングシステムのスレッド状態に影響を及ぼさない仮想マシン状態です。
Thread.getState()
列挙型定数と説明 |
---|
BLOCKED
ブロックされ、モニターロックを待機しているスレッドのスレッド状態です。
|
NEW
まだ起動されていないスレッドのスレッド状態です。
|
RUNNABLE
実行可能なスレッドのスレッド状態です。
|
TERMINATED
終了したスレッドのスレッド状態です。
|
TIMED_WAITING
指定された待機時間、待機中のスレッドのスレッド状態です。
|
WAITING
待機中のスレッドのスレッド状態です。
|
public static final Thread.State NEW
public static final Thread.State RUNNABLE
public static final Thread.State BLOCKED
Object.wait
を呼び出したあとに同期化したブロックまたはメソッドに再度入るのを待機しています。public static final Thread.State WAITING
Object.wait
(タイムアウトなし)Thread.join
(タイムアウトなし)LockSupport.park
待機状態のスレッドは、ほかのスレッドが特定のアクションを実行するのを待機しています。 たとえば、オブジェクトで Object.wait() を呼び出したスレッドは、ほかのスレッドがそのオブジェクトで Object.notify() または Object.notifyAll() を呼び出すのを待機します。Thread.join() を呼び出したスレッドは、指定されたスレッドが終了するのを待機します。
public static final Thread.State TIMED_WAITING
Thread.sleep
Object.wait
(タイムアウトあり)Thread.join
(タイムアウトあり)LockSupport.parkNanos
LockSupport.parkUntil
public static final Thread.State TERMINATED
public static Thread.State[] values()
for (Thread.State c : Thread.State.values()) System.out.println(c);
public static Thread.State valueOf(String name)
name
- 返される列挙型定数の名前。IllegalArgumentException
- 指定された名前を持つ定数をこの列挙型が持っていない場合NullPointerException
- 引数が null の場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.