java.lang.Threadの中のクラスの列挙型の状態の定義におけるJavaスレッド。
1つの パブリック 列挙状態{ 2 / ** 3 まだ開始されていないスレッドの*スレッド状態。 4 * / 5 NEW、 6 7 / ** 8 実行可能なスレッドの*スレッド状態。実行可能でスレッド 9 *状態は、Java仮想マシンで実行されているが、それはできる 10 *オペレーティング・システムから他のリソースを待っている 11 プロセッサなど*。 12 * / 13 RUNNABLE、 14 15 / ** 16 *モニターロックを待ってブロックされたスレッドのスレッド状態。 17 ブロックされた状態のスレッドは、モニターロックを待機している* 18 同期ブロック/メソッドを入力するか、またはするために* 19 *を呼び出した後に同期ブロック/メソッドを再入力 20 * { @link オブジェクト#待ち()はObject.waitを}。 21 * / 22 BLOCKED、 23 24 / ** 25は、 待機中のスレッドのための*スレッドの状態。 26 スレッドのいずれかの呼び出しのために待機している状態である* 27の *以下のメソッドを: 28 * <UL> 29 * <LI> { @link オブジェクト#待ち()はObject.wait}タイムアウトなし</ LI>と 30 * <LI> { @link タイムアウトなしと#join()Thread.join} </ LI> 31 * < LI> { @link LockSupport#パーク()LockSupport.park} </ LI> 32 * </ UL> 33 * 34 待機状態で* <P>スレッドに別のスレッドを待っている 35 *特定のアクションを実行します。 36 * 37 *たとえば、<TT>はObject.wait()</ tt>を呼び出したスレッド 39 * <TT> Object.notify()</ TT>又は<TT> Object.notifyAll()</ TT>に 40 *そのオブジェクト。呼び出したスレッドの<tt> Thread.join()</ tt>を 41 *終了する、指定したスレッドを待っています。 42 * / 43 WAITING、 44 45 / ** 46 指定された待機時間で待機中のスレッドのための*スレッド状態。 47 スレッドが原因の1コールするタイミング待ちの状態になっている* 48 *指定された正の待機時間と、次のメソッドは: 49 * <UL> 50 * <LI> { @link #sleepスレッドを。 51 * <LI> { @link タイムアウト</ LI>とオブジェクト#待ち(長い)はObject.wait} 52 * <LI> { @link タイムアウト</ LI>と#join(長い)Thread.join} 53 * < LI> { @link LockSupport#parkNanos LockSupport.parkNanos} </ LI> 54 * <LI> { @link LockSupport#parkUntil LockSupport.parkUntil} </ LI> 55 * </ UL> 56 * / 57 TIMED_WAITING、 58 59 / ** 60 *終了したスレッドのためのスレッドの状態。 61 スレッドの実行が完了しました*。 63は TERMINATED。 64 }
NEW:スレッドオブジェクトの状態を作成したが、まだ呼ばれているメソッドを起動していません。
RUNNABLE:スレッドは、仮想マシンで実行されているが、オペレーティング・システム・リソースを待ってもよい
BLOCKEDこの状態のスレッドは、同期コードまたはメソッドを入力するためのモニターロックを獲得するために待機している;それはモニターを待っで呼ばれることもあるはObject.waitコードロックまたは同期メソッドを再入力してください。
WAITING:スレッドを待ち状態で、スレッドを、この状態では、オブジェクト#待ち()を呼び出す原因である可能性があり、スレッド#が参加し、LockSupport番号公園( 1法);この状態のスレッドは、特定の完了するために、別のスレッドを待っています操作。
TIMED_WAITING:スレッドが``待ち時間が指定された時間であった、待ち状態計時される、スレッドのこの状態でのThread.sleep /オブジェクト#待ちと呼ばれることもある(ロング) /#(ロング)/ LockSupport参加指定された時間とをparkNanos#/#parkUntil LockSupport
TERMINATED:完成