初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
スレッドのライフサイクル
スレッドが新規作成されてからスレッドが終了して消滅するまでの一連の流れをライフサイクルといいます。
ライフサイクルには、新規作成状態、実行可能状態、実行中、待ち状態、終了の5つの状態に分かれます。
新規作成
新規作成状態とはスレッドを作成してnew キーワードを使用して
スレッドオブジェクトを生成した直後の状態のことを言います。
実行可能状態
実行可能状態とはstart()メソッドで呼び出された直後のことをいいますが、まだスレッドの処理は実行されていません。
ただ実行する機会が与えられると直ぐに実行できる状態のことを言います。
実はスレッドはstart()メソッドで呼び出されても直ぐにはスレッドは起動しません。
この後で説明しますがスレッドには優先順位があり優先順位の高いスレッドから呼び出されるからです。
実行可能状態になったスレッドは実行可能キューの中で順番待ちをしています。
そして、実行の機会が与えられたスレッドだけが実行可能キューから抜け出します
実行中
実行中はまさに今run()メソッドの処理を行っている状態のことをいいます。
待ち状態
つまりsleep()メソッドなどで待ち状態になっている状態のことをいいます。 待ち時間を過ぎると実行可能状態に移動します。
終了
run()メソッド内の処理が終わりスレッドが消滅した状態のことです。
また、run()メソッド内で例外などが発生して途中でプログラムが終了した場合も終了状態になります。
Sponsored link