一、简介
定时任务的解释为周期性地执行特定的任务,比如我们所熟悉的闹钟,传统单机形式的常用解决方案有多线程、TimeTask、线程池、SpringBoot 注解、Quartz 等方案,下面我们先来事件一下这几种方案,在分布式集群条件下的解决方案,我们将在后续的文章中进行讲解。,
二、解决方案示例
1、多线程
我们只需要执行一个子线程,然后每隔一段时间执行就 OK 了。
public class ThreadTask {
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
Thread.sleep(1000);
System.out.println("定时任务执行》》》"+new Date());
} catch (InterruptedException e) {
}
}
}
}).start();
}
}
2、线程池
public class ScheduledExecutorServicTask {
public static void main(String[] args) {
Runnable ru