一、定时器简介
定时器:就相当于一个闹钟,当我们定的时间到了,那么就执行一些逻辑。
1.1 Timer 类
Java 的标准库中提供了在 java.util 包下的 Timer 类作为定时器。 有如下的构造方法: 四种:
- timer() 无参构造;
- timer(boolean isDaemon) 创建的线程都是后台线程;
- timer(String name) 给定时器中创建的线程名字;
timer(String name, boolean isDaemon) 创建的线程都是后台线程,也给定时器中创建的线程名字。
在 Timer 类中的核心方法是 schedule 方法。
- schedule(TimerTask task, Date time) 到达 time 时刻后执行 task 任务;
- schedule(TimerTask task, Date firstTime, long period) 到达 time 时刻后重复执行 task 任务,每次相隔 period 时间;
- schedule(TimerTask task, long delay) 在 delay 时间后执行 task 任务;
- schedule(TimerTask task, long delay, long period) 在 delay 时间后重复执行 task 任务,每次相隔 period 时间;
- scheduleAtFixedRate(TimerTask task, Date firstTime, long period) 到达 time 时刻后重复执行 task 任务,每次执行 period 时间;
scheduleAtFixedRate(TimerTask task, long delay, long period) 在 delay 时间后重复执行 task 任务,每次执行 period 时间;
schedule 的第一个参数是 TimerTask 类,这是一个实现了 Runnable 接口的抽象类。
1.2 使用案例
我们使用 schedule 方法来打印不同时间执行不同内容。
import java.util.Timer;
import java.util.TimerTask;
public class Demo {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("3000ms 后执行");
}
}, 3000);
timer.schedule(new TimerTask() {
{
System.out.println();
}
}, );
timer.schedule( () {
{
System.out.println();
}
}, );
}
}


