摘要:运行 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=间隔时间 } }