ということで、今晩は教えてGoogle先生から始まる。
上記のリンク、及び
- 作者: ジョゼフ・オニール,武藤健志,トップスタジオ
- 出版社/メーカー: 翔泳社
- 発売日: 2005/01/14
- メディア: 単行本
- クリック: 1回
- この商品を含むブログ (26件) を見る
- runメソッドが終了する、すなわちrunメッソドのループが終了し、メソッドの処理がすべて終わると、そのスレッドオブジェクトは自動的に破棄される
ようである。
つまり再開したくとも、そのスレッドに対する参照は既にガーベージコレクションの彼方、ということになり、runメソッドを使用すれば、参照先はありませんよ、でエラーとなるわけである。
スレッド止めたんだから、当たり前か。
従って再度スレッドを起動したければ、新たなスレッドオブジェクトを作成(new)し、runメソッドを実行すれば良いことになる。
この通り、実装したところ、確かにその通り動作してくれた。
念のためThread.isAliveで確認したが、やはりループを止めたとこでfalseを返しており、破棄されたようである。
ということで、一件落着となった。