javaのTimerクラスのscheduleメソッドについて
タイムアウトの実装をしたくてTimerクラスのscheduleメソッドを使い,
to.schedule( time,1000 );
のようにして1000ms後にtimeオブジェクトの処理を実行させています.
class TimeOut extends TimerTask {
private boolean isStop = false;
public void run(){
isStop = true;
}
public boolean getStop(){
return isStop;
}
}
一方でこのtimeオブジェクトの実行内容はTimerTaskを継承したTimeOutクラス内のrun()メソッドで定義されています.
これはisStop変数の中身をtrueにするだけのもので,のちに
if(time.getStop()==true){
/*処理*/
}
のようにしてisStop変数を参照してタイムアウトされたかを判断したいと思っています.
しかしどうも1000ms後にtimeオブジェクトのrun()が実行されるとオブジェクトの中身が破棄されてしまっているようで後からisStopが参照できないようです.
こういう場合どうすればいいのでしょうか.