您的位置:首页 > 其它

About error:TimerTask is scheduled already

2014-12-15 11:45 537 查看
一个TimerTask 通过schedule方法使用之后,不能通过schedule方法调用第二次,想重复使用是不行的,是一次性用品。

当你重新想利用这个timertask时,那么你只能重新获得一个实例,最好是写成类:

class MyTask extends TimerTask{
@Override
public void run(){
// TODO Auto-generated method stub
//do something
}
};


那么当你向再使用这个TimerTask时,你可以这么做:
task	= new MyTask();
timer.schedule(task, 1000);


对于这种只使用一次的timer,可以在使用完成之后停止它,新建一个timer意味着新建一个线程,不用了就销毁吧。
timer.cancel();
timer.purge();
timer	= null;


每一次使用的时候
timer	= new Timer();


当然你也可以让这个timer一直存在

那么在重新new task之前,最好调用

task.cancel();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐