Spring scheduling tasks 执行时机

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

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

输出结果为:

当前时间1448938210002
当前时间1448938240000
当前时间1448938270001

定时任务执行任务耗时20s,执行完定时任务又间隔了10s,第二次执行定时任务。

所以定时任务是第一次执行完毕后,到指定时间,才会执行第二次定时任务。

你可能感兴趣的:(spring,定时任务)