怎么样重复利用TimerTask对象?
一个TimerTask对象 在执行后 其state会变为EXECUTED
如果再次使用会报异常
state属性为friedly的 没有办法直接改变它的值
有没有办法重复使用TimerTask呢?
即 如果
Timer timer = new Timer();
TimerTask timerTask = new TimerTask{
public void run() {
........
}
};
timer.schedule(timerTask ,m);
.........
timer.schedule(timerTask ,n); //这里会报异常 原因参考附jdk代码
附:Timer(java.util.Timer) sched 方法中
............
............
if (task.state != TimerTask.VIRGIN)
throw new IllegalStateException(
"Task already scheduled or cancelled");
............
............
TimerThread(java.util.TimerThread) mainLoop方法中
............
............
task.state = TimerTask.EXECUTED;
............
............