1. fixedDelay控制方法执行的间隔时间(毫秒),是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完,并间隔给定的时间后,执行下一次。上个过程结束后,等待300ms,执行下个过程
  2. fixedRate是按照一定的速率执行,是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次也是不会执行,但是在阻塞这段时间内累计应该执行的次数,当不再阻塞时,一下子把这些全部执行掉,而后再按照固定速率继续执行。以固定300ms的频率执行某个过程,不管前面的过程是否还在进行,一般用于可以**独立、并行**的执行过程
  3. cron表达式可以定制化执行任务,但是执行的方式是与fixedDelay相近的,也是会按照上一次方法结束时间开始算起。
  4. initialDelay 如: @Scheduled(initialDelay = 10000,fixedRate = 15000,这个定时器就是在上一个的基础上加了一个initialDelay = 10000 意思就是在容器启动后,延迟10秒后再执行一次定时器,以后每15秒再执行一次该定时器。

参考文章

https://www.baeldung.com/spring-scheduled-tasks

package com.demo.task;import com.demo.util.DateUtils;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;import java.util.Date;@Component
public class Test_task {//@Component 注册为spring组件/*1、fixedDelay控制方法执行的间隔时间,是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完,并间隔给定的时间后,执行下一次。2、fixedRate是按照一定的速率执行,是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次也是不会执行,但是在阻塞这段时间内累计应该执行的次数,当不再阻塞时,一下子把这些全部执行掉,而后再按照固定速率继续执行。3、cron表达式可以定制化执行任务,但是执行的方式是与fixedDelay相近的,也是会按照上一次方法结束时间开始算起。4、initialDelay 。如: @Scheduled(initialDelay = 10000,fixedRate = 15000,这个定时器就是在上一个的基础上加了一个initialDelay = 10000 意思就是在容器启动后,延迟10秒后再执行一次定时器,以后每15秒再执行一次该定时器。*/@Scheduled(cron="0 */1 * * * ?")public void Test_task(){//System.out.println("定时1分钟执行一次");}//*/5 * * * * ?  5秒执行一次@Scheduled(cron = "*/5 * * * * ?")public  void time(){//System.out.println("每5秒执行一次:"+ DateUtils.dateToString(new Date(),"yyyy-MM-dd HH:mm:ss"));}//fixedRate 定义一个按一定频率执行的定时任务@Scheduled(fixedRate = 5000)public  void fixedRate(){System.out.println("每5毫秒执行fixedRate一次:"+ DateUtils.dateToString(new Date(),"yyyy-MM-dd HH:mm:ss"));}//fixedDelay 定义一个按一定频率执行的定时任务,与上面不同的是,改属性可以配合initialDelay, 定义该任务延迟执行时间。@Scheduled(fixedDelay = 5000)public  void fixedDelay(){System.out.println("每5毫秒执行fixedDelay一次:"+ DateUtils.dateToString(new Date(),"yyyy-MM-dd HH:mm:ss"));}@Scheduled(initialDelay = 1000,fixedRate = 5000)public void initialDelay(){System.out.println("华丽的分割符----"+DateUtils.dateToString(new Date(),"yyyy-MM-dd HH:mm:ss"));}}

#####2021/10/18 cron表达式######

问题:0 0/10 * * * 与 0 */10 * * * 的区别?

说明:从5:07分钟的时候执行该任务

0 0/10 * * *会在5:10的时候进行执行,

0 */10 * * *会在5:17进行执行。这就是两者的差别。

0 0/10 * * *代表从0分钟开始,每10分钟执行任务一次。0 */10 * * *代表从任务启动开始每10分钟执行任务一次;

*代表任意字符,/代表递增;

SpringBoot @Scheduled注解(cron、fixedRate、fixedDelay、initialDelay)各个参数区别相关推荐

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

    一.   三种定时类型. 1.cron  --@Scheduled(cron="0/5 * * * *?") 当时间达到设置的时间会触发事件.上面那个例子会每5秒执行一次. 201 ...

  2. java定时器注解加效验_Java中定时器的使用之二(springboot–@Scheduled注解)

    在日常开发中我们经常会遇到定时器的需求,这段时间通过查阅资料,也有些收获,因此准备在这里跟大家分享下. 上次讲了如何利用Timer和TimerTask类创建定时任务:本文主要讲的是,如何利用sprin ...

  3. Spring task:annotation-driven配置之 @Scheduled定时任务的fixedRate,fixedDelay,cron执行差异

    从实现技术上来看,定时器分为三种: 1.Timer比较单一,这个类允许你调度一个java.util.TimerTask任务.使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行,一般用的 ...

  4. 集群服务器下使用SpringBoot @Scheduled注解定时任务

    原文:https://blog.csdn.net/huyang1990/article/details/78551578 SpringBoot提供了 Schedule模块完美支持定时任务的执行 在实际 ...

  5. @scheduled注解配置时间_@Scheduled注解

    1 概述 @Scheduled注解是spring boot提供的用于定时任务控制的注解,主要用于控制任务在某个指定时间执行,或者每隔一段时间执行.注意需要配合@EnableScheduling使用,配 ...

  6. @Scheduled中fixedDelay、fixedRate、initialDelay 和cron表达式的解析及区别

    一. 在线Cron表达式生成器 http://cron.qqe2.com/ 二.介绍 cronExpression定义时间规则,Cron表达式由6或7个空格分隔的时间字段组成:秒 分钟 小时 日期 月 ...

  7. Java定时注解@Scheduled的使用,fixedDelay,fixedRate,cron的使用

    Java定时注解@Scheduled的使用,fixedDelay,fixedRate,cron的使用 问题背景 参数简介 项目创建 测试结果 心得 Lyric:咸咸的汗水 问题背景 项目中经常使用定时 ...

  8. springboot定时器@Scheduled的cron,fixedRate,fixedDelay使用

    1:注意:使用cron在线生成器调试https://cron.qqe2.com/,看调试结果是否符合自己的要求 1.实现类上要有组件的注解@Component @Service(@Component相 ...

  9. Spring定时任务@Scheduled注解使用方式浅窥(cron表达式、fixedRate和fixedDelay)

    1.开篇 spring的@Scheduled定时任务相信大家都是十分熟悉.最近在使用过程中发现了一些问题,写篇文章,和大家分享一下.结论在最后,不想看冗长过程的小伙伴可以直接拉到最后看结论. 2.简单 ...

最新文章

  1. GStreamer 1.18.4稳定的错误修复版本
  2. java基盘JavaScript_JavaWeb学习:SSH整合(无障碍整合)
  3. html和css知识,html和 css基础知识
  4. Spring Boot RabbitMQ 详解
  5. python用法查询软件_如何使用Python应用软件实现车牌检测和识别
  6. codevs1068 乌龟棋 题解
  7. podman—网络设置、开机自启及加速器配置
  8. [译]Selenium —— 怎样使用FireBug和FirePath
  9. 一文了解开集输出结构open_drain
  10. Sqlite 索引的使用、索引的优缺点
  11. 微信小程序 新版canvas绘制图片方法
  12. 轴流风机和离心风机有什么区别?
  13. I2C driver编写指导二:编写i2c client driver指南
  14. 【从零学习OpenCV 4】Windows系统中安装OpenCV 4
  15. 五·C语言之·操作符这么有趣的嘛?
  16. 章节九:cookies
  17. mac MoviePy 合成视频没有声音(亲测)
  18. 力扣春季编程大赛(LCCUP‘21)
  19. 芒果数据库(MongoDB)学习记录(一)——安装
  20. 【附源码】计算机毕业设计java学生档案管理系统设计与实现

热门文章

  1. 用html5创建表格
  2. Django项目部署上线
  3. 高效GO语言编程-代码注释
  4. De Morgan's laws
  5. 转载删减:Jupyter Notebook快捷键
  6. 2018CCCC天梯赛L2-004秀恩爱分得快
  7. + smarty 模板
  8. 第三方支付接入(微信,支付宝)
  9. Web大文件(视频)上传解决方案
  10. Swagger UI使用介绍