TimerTask 定时任务

定时任务就是在指定时间执行程序,或周期性执行计划任务。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) --指定任务执行时刻

posted @ 2024-06-12 14:43  泡泡大可爱  阅读(335)  评论(0)    收藏  举报