多线程定时调度 Timed Scheduling
某一个有规律的时间点执行某个任务
简单示例:
package com.tsymq.thread.advanced;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TimedScheduling {
public static void main(String[] args) {
Timer timer = new Timer();
// 执行任务
// timer.schedule(new MyTask(), 1000); /*1秒钟后执行一次*/
// timer.schedule(new MyTask(), 1000, 1000); /*1秒钟后开始执行,每隔1秒执行一次*/
// 指定第一次执行的时间
timer.schedule(new MyTask(), new Date(1585559280152L), 200);
}
}
// 任务类
class MyTask extends TimerTask{
@Override
public void run() {
System.out.println("执行任务...");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("任务完成!");
}
}