[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/