(のOracle JDK 1.8に基づいて)いくつかの状態Javaスレッド

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:完成

おすすめ

転載: www.cnblogs.com/fkqm/p/11504286.html