スレッドのライフサイクルとjoin()メソッドの使い方。東京アンダーグラウンド東京アンダーグラウンドホーム古い記事スレッドのライフサイクルとjoin()メソッドの使い方。2014/06/02SHAREツイートシェアはてブGoogle+PocketLINEJavaのスレッドにはライフサイクルがあって、そのライフサイクルを押さえることが、Javaのマルチスレッドプログラミングを理解する基本となります。start()メソッドが呼び出されると、スレッドはまず実行可能状態に遷移します。スレッドはスケジューラによって実行状態にされるまで実行可能状態を維持します。・Blocked・Sleeping・Waitingの3つの状態があります。この状態については後々詳しく見ていきます(予定)■yield()メソッドyield()はThreadクラスのstaticメソッドです。このメソッドは、Thread.yield();のように呼び出します。yield()は同じ優先順位の他のスレッドに実行の順番を回すことを目的としています。現在実行中のスレッドオブジェクトを一時的に休止させ、ほかのスレッドが実行できるようにします。yieldを呼び出すと、スレッドは実行可能状態に移行します。ほかに実行可能なスレッドがない場合や、ほかのスレッドの方が優先順位が低い場合は、ただちに実行中の女医歌いに戻ることになります。yield()したからといって、プログラマの思い通りに順位を制御できるわけではありません。気まぐれに実行されます。name);}}みたいに、適当にスレッドを作って制御しようとしても、うまくいきませんでした。スレッドを一時停止させるには、Thread#sleep()を使います。Thread.sleep(1000);みたいに書くことで、1秒(1000ミリ秒)の間、そのスレッドを一時停止させることができます。join()メソッドです。このjoin()メソッドは、指定したスレッドが終了するまでスレッドを待機させることができます。待機中のスレッドは実行不可能な状態となり、指定したスレッドの終了を待った後、実行可能な状態になります。ここでタイトルにもあるjoin()の使い方について見ていきましょう。ended");}}上のサンプルではコメントでも書いていますが、thread.join()をmainメソッド内で実行しています。すると、main()を実行しているスレッドは、Printerスレッドが終了するまで待機します。Printerのスレッドが終わってから、mainのスレッドが動き出すようになります。結果として、必ず以下のようにコンソールには表示されます。見る久しぶりにパーフェクトJavaのスレッドの章を読み返しました。この本は本当に、何度読んでも新しい発見がある素晴らしい本だと思う。スレッドプールとは、作成したスレッドを待機(プール)させて、必要に応じてスレッドを取り出してタスク(Runnable)を割り当てるようなプログラミングモデルのことをいいます。お金があるかないかで人生の楽しさは全く変わってきます。お金があっても幸せになれるとは限りませんが、お金がない人生は不幸です。お金がなかった私が、転職して年収1000万を超えるまでにお世話になったブログを紹介します。エンジニア転職のリアル今の時代は、お金を稼げるかどうかは能力の有無よりも触れた情報の質によるものが大きいです。皆さんも良質な情報に触れて、お金持ちになって人生を充実させてください。:古い記事ハゲ予防・ハゲ対策のシャンプーならaminospaA+3で決まりだと思う。20代がハゲの恐怖から逃れるためにあがいた記録。カスタムタグとJSTLについてまとめC#で文字列に改行を入れたり、定数の宣言をしたり、文字列を数値に変換する。