定时任务的处理----Timer 类
1.所用到的方法有四个
1.1–void schedule(TimeTask task ,long delay) 在指定的延迟之后安排指定的任务执行。
1.2–void schedule(TimerTask task, long delay,long period) 在指定 的延迟之后开始,重新 执行固定延迟执行的指定任务
1.3–schedule(TimerTask task, Date time) 在指定的时间安排指定的任务执行。
1.4–schedule(TimerTask task, DatefirstTime, long period) 从指定的时间开始,对指定的任务执行重复的 固定延迟执行 。
具体代码:
package com.yusys;
import com.sun.org.apache.bcel.internal.generic.NEW;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 定时器联系
*/
public class TimerTest01 {
public static void main(String[] args) {
//创建一个定时,2秒后启动,只启动一次
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
for (int i = 10; i >=0 ; i--) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("炸弹炸了,boom~~~~~");
//终止定时器
timer.cancel();
}
},2000);
//设置一个定时器 5秒后开始执行,1秒执行一次
Timer timer2 = new Timer();
timer2.schedule(new TimerTask() {
@Override
public void run() {
String s = new SimpleDateFormat("yyyy-mm-dd HH:MM:ss").format(new Date());
System.out.println(s);
}
},5000,1000);
//3.设置一个定时器,在2030年01月01日零时开始执行,每隔24小时执行一次
Timer timer3 = new Timer();
//创建日历控件
Calendar calendarTime =
new GregorianCalendar(2020,1,1,2,10,1);
timer3.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("吃饭睡觉打豆豆");
}
},calendarTime.getTime(),1000*60*24);
}
}