【Java】スレッド / Thread

スレッドの休止・中断

 * sleep() : 指定した時間だけ現在実行中のスレッドを休止させる
 * yield() : 現在処理中のスレッドを一時休止し、他のスレッドに実行の機会を与える
 * interrupt() : 休止中のスレッドに割り込みを入れるメソッド

処理を一時停止するには

 * Thread.sleep() を使う
 * 非スレッド環境でも使える
サンプル
Thread.sleep(60 * 1000L); // 60sec処理を止める
参考文献
http://d.hatena.ne.jp/konchi/20090911/1252646115

InterruptedException / 割り込み例外について

Interrupt = 中断する
 * 自分の作成しているシステムの仕様・設計にあった処理を行う必要がある
  => 「何もしない」or「無視して処理を進める」など
 * 意図せずに、通常の例外と同じ処理にしないように注意
参考文献
http://www1.bbiq.jp/takeharu/java108.html
http://d.hatena.ne.jp/Nagise/20111130/1322628285

スレッドの同期

 * wait() : 現在のスレッドを待機させる。
 * notify() : wait()によって待機中であるスレッドの1つを再開。プログラム側から指定することはできない。
 * notifyAll() : wait()によって待機中であるすべてのスレッドを再開。

参考文献

http://www.gamesite8.com/archives/575489.html

関連記事

デザインパターン】【非同期】Guarded Suspensionパターン

http://blogs.yahoo.co.jp/dk521123/32928012.html

Java】例外について ~Exception~

http://blogs.yahoo.co.jp/dk521123/33440704.html