SpringBoot定时任务注解@Scheduled中fixedRate和fixedDelay

@Scheduled(fixedRate = 2000)
   public void myJob1(){
        System.out.println(LocalDateTime.now()+"定时任务O(∩_∩)O");

        //休眠模拟代码块运行的时间
        try {
            TimeUnit.SECONDS.sleep(3);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

fixedRate=2000表示每两秒就要执行一次,但是代码执行就需要三秒,那么这时候,就是三秒执行一次,代码执行小于2秒,那就是两秒运行一次,相当于代码块开始执行就开始计时了

执行效果:
2021-12-06T19:34:34.482定时任务O(∩_∩)O
2021-12-06 19:34:34.534  INFO 5884 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8081 (http) with context path ''
2021-12-06 19:34:34.541  INFO 5884 --- [  restartedMain] c.l.S.SpringBoot1127Application          : Started SpringBoot1127Application in 17.925 seconds (JVM running for 24.182)
2021-12-06T19:34:37.497定时任务O(∩_∩)O
2021-12-06T19:34:40.505定时任务O(∩_∩)O
2021-12-06T19:34:43.515定时任务O(∩_∩)O
2021-12-06T19:34:46.529定时任务O(∩_∩)O

第二种

@Scheduled(fixedDelay = 2000)
    public void myJob1(){
        System.out.println(LocalDateTime.now()+"定时任务O(∩_∩)O");

        //休眠模拟代码块运行的时间
        try {
            TimeUnit.SECONDS.sleep(3);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

fixedDelay,这里表示,代码执行完后,在执行定时的时间2秒,这里相当于这个任务需要5秒执行一次,定时的2秒加上,代码执行的时间3秒,相当于,代码块执行结束了才开始计时

执行效果

2021-12-06T19:44:01.418定时任务O(∩_∩)O
2021-12-06 19:44:01.500  INFO 19184 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8081 (http) with context path ''
2021-12-06 19:44:01.517  INFO 19184 --- [  restartedMain] c.l.S.SpringBoot1127Application          : Started SpringBoot1127Application in 24.073 seconds (JVM running for 33.953)
2021-12-06T19:44:06.437定时任务O(∩_∩)O
2021-12-06T19:44:11.462定时任务O(∩_∩)O
2021-12-06T19:44:16.471定时任务O(∩_∩)O
2021-12-06T19:44:21.485定时任务O(∩_∩)O
2021-12-06T19:44:26.509定时任务O(∩_∩)O
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值