三种情况全部执行main方法就可以
==================基于Thread方式实现定时任务调度======================================
package com.itmayiedu;
public class Test001 {
//基于Thread方式实现定时任务调度
private static int count = 0;
public static void main(String[] args) {
// java 语言如何实现定时任务调度 Thread 、 TimerTask 、线程池 、 quartz 、 springboot内置schedul
Runnable runnable = new Runnable() {
public void run() {
while(true) {
try {
// 每隔1秒钟执行任务
Thread.sleep(1000);
} catch (Exception e) {
// TODO: handle exception
}
System.out.println("count" + ++count);
}
}
};
new Thread(runnable).start();
}
}
=================================基于 TimerTask 方式实现定时任务调度=============================
package com.itmayiedu;
import java.util.Timer;
import java.util.TimerTask;
public class Test002 {
//基于 TimerTask 方式实现定时任务调度
private static int count = 0;
public static void main(String[] args) {
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
System.out.println("count" + ++count);
}
};
Timer timer = new Timer();
// 天数
long delay = 0;
// 秒数
long period = 1000;
timer.scheduleAtFixedRate(timerTask, delay, period);
}
}
================================线程池===============================================
package com.itmayiedu;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class Test003 {
//基于 线程池 方式实现定时任务调度
private static int count = 0;
public static void main(String[] args) {
Runnable runnable = new Runnable() {
public void run() {
System.out.println("count" + ++count);
}
};
//使用线程池方式
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
// 第二个参数为首次执行的延时时间,第三个参数为定时执行的间隔时间
service.scheduleAtFixedRate(runnable, 1, 1, TimeUnit.SECONDS);
}
}