java定时任务——间隔指定时间执行方法

摘要:运行 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=间隔时间
}
}
上一篇:[转载] java多线程学习-java.util.concurrent详解(四) BlockingQueue


下一篇:ubuntu安装nginx和设置网站https访问