码迷,mamicode.com
首页 > 其他好文 > 详细

Scheduling Tasks

时间:2019-10-24 11:34:16      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:delay   framework   out   java   mic   img   并且   tps   href   

官方文档

https://spring.io/guides/gs/scheduling-tasks/

官方文档详细介绍了@Scheduled中fixedRate,fixedDelay,cron的用法

技术图片

fixedRate代表调用频率,单位为ms,如果调用频率设为5000ms,那么当你第一次调用占用2秒时等待3秒会第二次调用,当你第二次调用占用5秒时结束会立马第三次调用。

fixedDelay代表间隔时间,单位为ms,即每次调用完成时间和下次调用都相隔5000ms。

cron表达式,看官网文档

验证

情况一,程序执行时间小于延迟时间

设置延迟5秒时,执行时间为3秒

    @Scheduled(fixedDelay=5000)
    public void execute() throws InterruptedException {
            System.out.println("调用时间"+CommonTool.getNowDateStr());
            Thread.sleep(3000);
    }

技术图片

发现两次开始调用时间为8秒刚好为执行时间+等待时间

情况二,程序执行时间大于延迟时间

设置延迟5秒,并且方法调用时间为6秒时

    @Scheduled(fixedDelay=5000)
    public void execute() throws InterruptedException {
            System.out.println("调用时间"+CommonTool.getNowDateStr());
            Thread.sleep(6000);
    }

技术图片

发现间隙为11,也为执行时间+等待时间

 

Scheduling Tasks

标签:delay   framework   out   java   mic   img   并且   tps   href   

原文地址:https://www.cnblogs.com/aeolian/p/11731057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!