您的位置:首页 > 编程语言 > Java开发

Spring scheduling tasks 执行时机

2015-12-01 00:00 369 查看
我们在使用spring定时任务的时候,往往有这样的疑问,如果第一次定时任务没有执行完,到时间了,第二次定时任务会执行吗?下面我们来测试一下

[code=language-java] @Scheduled(cron="0/10 * * * * ?")
public void perform() throws InterruptedException{
System.out.println("当前时间"+System.currentTimeMillis());
Thread.sleep(25000);
}


输出结果为:

[code=plain]当前时间1465718210001
当前时间1465718240001
当前时间1465718270000
当前时间1465718300002
当前时间1465718330000


一次定时任务执行耗时25s,定时任务的执行间隔为30s。

所以定时任务第一次执行后,10s后发现第一次任务未执行完,第二次不执行,20s发现定时任务仍未执行完,第二次任务不执行,30s后第二次任务执行完,第二次定时任务开始执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring 定时任务