摘要:运行 main 方法的时候开始进行定时任务,
service.scheduleAtFixedTate(task,5,TimeUnit.SECONDS);方法为关键
此次任务就是 run() 方法里面的内容
package com.zhanzhuan.timedtask; import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit; public class MainTest {
public static void main(String[] args) {
// 第一种方法
// TaskOne();
// 第二种方法
TaskTwo();
} public static void TaskOne() {
Runnable task = new Runnable() {
// run 方法内的内容就是定时任务的内容
public void run() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
System.out.println("当前的系统时间为:" + sdf.format(new Date()));
if ("17:08:30".equals(sdf.format(new Date()))) {
System.out.println("开始任务");
}
}
};
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
// 参数解释
// 1=此次任务、2=任务开始延迟时间、3=任务之间间隔时间、4=单位
service.scheduleAtFixedRate(task, 1, 1, TimeUnit.SECONDS);
} public static void TaskTwo() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
System.out.println("当前的系统时间为:" + sdf.format(new Date()));
if ("16:52:30".equals(sdf.format(new Date()))) {
System.out.println("开始任务");
}
}
}, 0, 1);// 2000=开始延迟时间 500=间隔时间
}
}