在java中一个完整定时任务需要由Timer、TimerTask两个类来配合完成。 API中是这样定义他们的,Timer:一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。由TimerTask:Timer 安排为一次执行或重复执行的任务。我们可以这样理解Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,而TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。
package ppp;
import java.util.Timer;
import java.util.TimerTask;
class MyTask extends TimerTask{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"定时任务执行,当前时间"+System.currentTimeMillis());
}
}
public class test{
public static void main(String[] args) {
Timer timer=new Timer();
// timer.schedule(new MyTask(),100);定时一次任务,100毫秒后执行
timer.scheduleAtFixedRate(new MyTask(),100,1000);//定时10次任务,没100毫秒一次
}
}