Timer类是一个线程设施,用于实现在某个时间或者某一段时间后安排某个任务执行一次或者定期重复执行。需要与TimerTask配合使用。
TimerTask类用来实现由Timer安排的一次或重复执行的某次任务。是一个抽象类,子类必须覆写其中的run()方法,它引入接口Runnable得到的方法。
每个Timer对象对应一个线程。
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimerTask;
import java.util.Timer;
public class MyTask extends TimerTask{
@Override
public void run() {
// TODO Auto-generated method stub
SimpleDateFormat sdf = null;
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
System.out.println("当前系统时间为:"+sdf.format(new Date()));
}
}
public class TaskDemo01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Timer t = new Timer();
MyTask myTask = new MyTask();
t.scheduleAtFixedRate(myTask, 1000,2000);
try{
Thread.sleep(10000);
}catch(Exception e){
e.printStackTrace();
}
//myTask.cancel();
t.cancel(); //取消定时器
}
}