プログラミング応用b 第10回 『スレッド1』 |
【スレッドはいつ終了するか】
スレッドは,そのスレッドの run( ) メソッドが終了したところで終了する。現在実行中の
スレッドから,特定の別スレッドを強制的に終了させることはできない。外部からスレッドを
終了させたい場合は,変数などを使って当該スレッドに終了するように伝え,スレッド自身
に終了してもらうべきである。たとえば繰り返し処理でずっと処理を続けているスレッドを
終わらす手段としては,
というように,スレッドを終了させるメソッド(この例では end( ))を作成して,このメソッド
を呼ぶようにする。
参考)
しかし, sleep( ) や後述する wait( ) などのメソッドを実行してスレッド自身が停止状態にある
場合には,このような方法でスレッドを終了させることは出来ない。そこで,停止状態にあるスレッドを
強制的に再開させてから自主的に終了してもらうことになる。興味のある人は,以下のボタンを押して,
その方法の解説を読んでみよ。