先介绍下Schedule的使用方法
1.首先新建使用Springboot的Maven项目,引入相关引用如下在pom.xml里添加如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>
2.新建MySchedule的Java文件,用@Component来注释该类,定时任务用@Scheduled来注释如下:

@Scheduled(fixedRate=2000)public void fixedRate(){System.out.println("fixedRate:"+new Date());}

该代码会定时2秒钟执行一次在这里插入代码片,执行结果如下

但是@Scheduled中还有一种属性fixedDelay,两者有什么区别,区别就是如果执行任务中有阻塞的情况,fixedDelay执行间隔会加上阻塞的时间代码如下:

 @Scheduled(fixedDelay=2000)public void fixedDelay(){try{Thread.currentThread().sleep(1000);//毫秒}catch(Exception e){}System.out.println("fixedDelay:"+new Date());}

执行结果如下
可以看出后一次执行的时间是fixedDelay的时间加阻塞时间;
而fixedRate则是按其规定的时间来执行的,犹如时刻表一般,当阻塞结束后按时刻表来执行,代码如下:

 @Scheduled(fixedRate=2000)public void fixedRate(){try{Thread.currentThread().sleep(1000);//毫秒}catch(Exception e){}System.out.println("fixedRate:"+new Date());}

执行结果如下
图中可以看到,执行结果中时间间隔为fixedRate定的时间间隔

总结来说,fixedRate下一次执行时间是本次开始时间加间隔时间;而fixedDelay下一次执行时间是本次结束时间加间隔时间

@Schedule中关于fixedDelay和fixedRate的区别相关推荐

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

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

  2. python3异步task_并发,异步编程_Python中的asyncio模块中的Future和Task的区别?,并发,异步编程,python,asyncio - phpStudy...

    Python中的asyncio模块中的Future和Task的区别? 问题一 按照官方文档的描述,Task是Futrue的一个subclass,标准库中也分别提供了create_task和create ...

  3. Java多线程问题--schedule函数和scheduleAtFixedRate的用法和区别

    本文内容部分引自<Java多线程编程核心技术>,感谢作者!!! 代码地址:https://github.com/xianzhixianzhixian/thread.git schedule ...

  4. sql语句中left join和inner join中的on与where的区别分析

    原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...

  5. 无法解析 list 中的方法 iterator_Python-list中的append()和extend()方法区别

    一.append()和extend()方法都是用来添加数据到list末尾的,两者的区别: append()添加的时候会把添加的数据当成一个整体进行添加,允许添加任意类型的数据 extend()添加的时 ...

  6. Python中爬虫框架或模块的区别

    Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...

  7. PHP中file_exists与is_file,is_dir的区别介绍

    PHP中file_exists与is_file,is_dir的区别介绍 作者: 字体:[增加 减小] 类型:转载 时间:2012-09-12 我要评论 很显然file_exists是受了asp的影响, ...

  8. python post与get的区别_python中get和post有什么区别

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...

  9. SQL语法中drop,delete与truncate的区别

    SQL语法中drop,delete与truncate的区别 delete是DML语句,可以选择删除部分数据,也可以选择删除全部数据:删除的数据可以回滚:不会释放空间 drop是DDL语句,删除表结构和 ...

最新文章

  1. 如何判断变量是否是数字
  2. 【转】makefile写法2
  3. html5 audio 获取播放时间,html5 audio 延时获取播放路径播放失败
  4. BugkuCTF-MISC题啊哒,白哥的鸽子
  5. 深拷贝与浅拷贝、值语义与引用语义对象语义 ——以C++和Python为例
  6. java exception用法_Java基础回顾_Exception异常使用详解
  7. php网站跨站脚本监测,基于PHP的在线跨站脚本检测工具.pdf
  8. Android 判断用户2G/3G/4G移动数据网络
  9. linux安装XtraBackup8
  10. docker入门实践之数据卷管理
  11. 踢向《英雄王座》的面目全非脚
  12. Eclipse打开报错解决方案
  13. 在系统编程ISP及在应用编程IAP
  14. 数据结构与算法经典书籍——大话数据结构(带配套源码)
  15. 在线付费听音乐平台网站源码
  16. python-css偏移反爬(一)
  17. 一张帖搞定同学们入学黑马前所有难题
  18. Jetbot小车系列文章学习
  19. fama french-3 模型个人理解
  20. kaos linux 包管理,KaOS v2018.12版正式发布附下载-独立的 Linux 发行版

热门文章

  1. mt2503[Input Method]允许多种语言输入法在不同语言环境下都能自由切换
  2. TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择 和 char varchar varchar2 的区别
  3. 使用github的API
  4. 浪子回头——关于人性的叩问
  5. Vue3 + TypeScript 报错:无法找到模块xx的声明文件
  6. 医学图像分割 基于深度学习的肝脏肿瘤分割 实战(二)
  7. PS中各种滤镜效果的实现
  8. 多级队列调度算法可视化界面_操作系统:多级反馈队列调度算法模拟(Java实现)...
  9. JVM类加载与运行时优化
  10. c语言一维数组输出字符串和二维数组输出字符串