@计划的行为在处理时花费很长时间并行运行?

问题描述

我有一个使用@Scheduled的方法,它设置为每10秒运行一次,如下所示:

@Scheduled(fixedDelay = 1000 * 10)

如果该方法要花费10秒钟以上的时间,是否会并行开始另一个执行?还是会等待当前执行完成?

解决方法

不会,因为fixedDelay的工作方式如下:

以固定的周期(以毫秒为单位)执行带注释的方法 在上一次调用结束与下一次调用之间。

意思是它等待功能完成,然后等待n毫秒,直到再次调用该功能。

,

它会一直等到之前的执行完成为止,直到我查看了它的文档并将其写在那上面

以固定的周期(以毫秒为单位)执行带注释的方法 在上一次调用结束与下一次调用之间。

这是我见过的Spring Doc