JAvaスレッドのいくつかの状態

3033 ワード

jdk apiの説明:
NEWまだ起動していないスレッドがこの状態です.
RUNNABLE Java仮想マシンで実行中のスレッドがこの状態です.実行可能スレッドのスレッドステータス.実行可能なスレッドはJava仮想マシンで実行されていますが、プロセッサなどのオペレーティングシステム内の他のリソースを待っている可能性があります.
BLOCKEDがブロックされ、あるモニタロックを待つスレッドがこの状態にある.ブロックされ、モニタロックを待っているスレッドのスレッドステータス.ブロックされた状態のスレッドは、同期されたブロック/メソッドに入るためにモニタロックを待っているか、Object.waitが呼び出された後に再び同期されたブロック/メソッドに入る. 
WAITINGは、特定の動作を実行するために別のスレッドを無期限に待機するスレッドがこの状態にある.
待機スレッドのスレッドステータス.スレッドは、次のいずれかのメソッドを呼び出すため待機中です.
  • タイムアウト値を持たないObject.wait
  • タイムアウト値を持たないThread.join
  • LockSupport.park

  • 待機中のスレッドは、特定の操作を実行するために別のスレッドを待機しています.例えば、Objectは既にあるオブジェクト上で呼び出す.wait()のスレッドは、オブジェクト上でObjectを呼び出すために別のスレッドを待っている.notify()またはObject.notifyAll().呼び出されたjoin()のスレッドは、指定したスレッドの終了を待っています. 
    TIMED_WAITINGは、指定された待ち時間に依存する動作を実行するために別のスレッドを待つスレッドがこの状態にある.
    TERMINATEDが終了したスレッドはこの状態です.
     
    英語の説明はもっとはっきりしています.
    NEW A thread that has not yet started is in this state.
    RUNNABLE A thread executing in the Java virtual machine is in this state.
    BLOCKED A thread that is blocked waiting for a monitor lock is in this state.
    WAITING A thread that is waiting indefinitely for another thread to perform a particular action is in this state.
    TIMED_WAITING A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state.
    TERMINATED A thread that has exited is in this state.