定时任务就是在指定时间执行程序,或周期性执行计划任务。Java中实现定时任务的方法有很多,本文从从JDK自带的一些方法来实现定时任务的需求。
一、Timer和TimerTask
Timer和TimerTask可以作为线程实现的常见方式,JDK1.5之后定时任务推荐使用ScheduledThreadPoolExecutor。
1、快速入门
Timer运行在后台,可以执行任务一次,或定期执行任务。TimerTask类继承了Runnable接口,因此具备多线程的能力。一个Timer可以调度任意多个TimerTask,所有任务都存储在一个队列中顺序执行,如果需要多个TimerTask并发执行,则需要创建两个多个Timer。
public class TimerTest {
//被执行的任务必须继承TimerTask,并且实现run方法
static class MyTimerTask1 extends TimerTask {
public void run() {
System.out.println("爆炸!!!");
}
}
public static void main(String[] args) throws ParseException {
Timer timer = new Timer();
//1、设定两秒后执行任务
//timer.scheduleAtFixedRate(new MyTimerTask1(), 2000,1000);
//2、设定任务在执行时间执行,本例设定时间13:57:00
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date time = dateFormatter.parse("2023/02/11 14:40:00");
timer.schedule(new MyTimerTask1(), time);
}
}
2、schedule使用方法
schedule(TimerTask task, long delay, long period) --指定任务执行延迟时间
schedule(TimerTask task, Date time, long period) --指定任务执行时刻
标签:Timer,任务,new,TimerTask,定时,执行 From: https://www.cnblogs.com/pao1pao/p/18243930