java实现单体式定时任务方式
-
while(true)+Thread.sleep
轮询+线程休眠的方式实现定时任务
-
java.util.Timer+java.util.TimerTask
Timer是定时器工具,用来在一个后台线程计划执行指定任务,它可以以计划执行一个任务或反复多次,TimerTask 一个抽象类,它的子类代表一个可以被TImer计划的任务
-
ScheduleExecutorService
ScheduleExecutorService是jdk1.5开始作为并发工具类被引入,是最理想的定时任务实现方式,不能指定时间,只能实现每隔多久时间执行任务。
-
Quartz
Quartz是一个开源的定时任务调度框架,由java编写,用于java生态下的定时任务调度,是一个灵活方便、使用简单的定时任务框架,可以和Spring整合使用。
-
Spring Task
Spring框架提供的轻量级定时任务调用工具,使用方便(通过注解或xml文件配置)
-
SpringBoot注解 @EnableScheduling+@Scheduled
底层仍是Spring Task