Time类主要负责完成定时计划任务的功能,就是在指定的时间的开始执行某个任务.

  Timer类的作用是设置计划任务,而封装任务内容的类是TimerTask类.此类是一个抽象类,继承需要实现一个run方法.

通过查文档我们看到Timer有以下几个构造函数:

java定时器Timer的使用-LMLPHP

Timer的方法以下这么多:

java定时器Timer的使用-LMLPHP

下面实现几种方式:

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask; public class testTimer { public static void main(String[] args) {
//task1();
//task2();
task3();
} public static void task1(){
Timer timer = new Timer();
timer.schedule(new TimerTask(){
public void run(){
System.out.println("每2秒输出一次");
}
}, 2000);
} //执行时间按照上一次实际执行完成的时间点进行计算
public static void task2(){
Timer timer = new Timer();
timer.schedule(new TimerTask(){
public void run(){
System.out.println("延迟一秒后,每5秒输出一次");
}
}, 1000, 2000);
} //执行时间按照上一次开始的时间点进行计算
public static void task3(){
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask(){
public void run(){
System.out.println("延迟一秒后,每2秒输出一次");
}
}, 1000, 2000);
} public static void task4(){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 12); // 控制时
calendar.set(Calendar.MINUTE, 0); // 控制分
calendar.set(Calendar.SECOND, 0); // 控制秒 Date time = calendar.getTime(); // 得出执行任务的时间,此处为今天的12:00:00 Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask(){
public void run(){
System.out.println("执行指令");
}
}, time, 1000 * 60 * 60 * 24); } }
05-18 18:03