理解 Spring 定时任务的 fixedRate 和 fixedDelay 的区别

Posted 遗失的拂晓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解 Spring 定时任务的 fixedRate 和 fixedDelay 的区别相关的知识,希望对你有一定的参考价值。

用过 Spring 的 @EnableScheduling 的都知道,有三种方式,即 @Scheduled 注解的 fixedRate(fixedRateString), fixedDelay(fixedDelayString), 以及 cron
这里讨论 fixedRate 和 fixedDelay 参数

fixedRate 是有一个时刻表的概念,在任务启动时,T1、T2、T3就已经排好了执行的时刻,比如1分、2分、3分,当T1的执行时间大于1分钟时,就会造成T2晚点,当T1执行完时T2立即执行,

fixedDelay 比较简单,表示上个任务结束,到下个任务开始的时间间隔。无论任务执行花费多少时间,两个任务间的间隔始终是一致的。


以上是关于理解 Spring 定时任务的 fixedRate 和 fixedDelay 的区别的主要内容,如果未能解决你的问题,请参考以下文章

Spring @Scheduled定时任务的fixedRate,fixedDelay,cron的作用和不同

Spring Boot参考教程定时任务

Spring Boot 定时任务

定时任务的配置

spring boot 定时器

SpringBoot-设置定时任务