Timer类的对象有一个方法可以创建定时任务线程
schedule(TimerTask task, long delay)
但是自己实际操作后,发现程序运行完毕后,并不能终止这个定时任务线程。需要调用timer对象的cancel()方法才可以终止它。
所以,在TimerTask类的子类中,我们可以把Timer对象通过构造方法传递进去作为成员属性,这样就可以在定时任务完成后,对这个Timer的对象进行进一步的操作了。
当然,如果是匿名内部类的话,可以直接调用timer对象:
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("learn...");
timer.cancel();
}
}, 3000);