[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] Re: JDK1.2でのThread.stop を調べていて
>あのサンプルコードは、blinkerに一度しかThreadオブジェクトしか入らな
>いという前提で書かれているわけではないために
>> while(blinker == thisThread) {
>こうなっているのではないでしょうか.
>例えばstop()メソッドでblinker = null;が実行されて、run()側のwhile文
>を抜ける前に別の個所でblinkerに新たなThreadが設定されて、再実行が行
>われるかもしれません.
なるほど、このケースは考えてませんでした。短い時間内にstop(), start()
が呼ばれる場合にあり得ますね。
run()メソッドをsynchronizeにする手もあるかとおもったのですが、
sleep()しているときは、だめですね
------
Toru Takahashi
torutk@xxxxxxxxxx
NIFTY: GHE00470
http://www.alles.or.jp/~torutk/