【发布时间】:2014-09-05 09:37:59
【问题描述】:
java.util.Timer 的 scheduleAtFixedRate 是一个明显的选择,如果你想在某个时间间隔安排任务。但是,如果您的间隔是 10 秒。任务耗时超过 10 秒。此功能将根据文档忙执行任何待处理的事情(引用:两个或更多执行将快速连续发生以“赶上”。)。这当然是一种合理的实现方式,但不一定是你想要的。
有谁知道 Java API 中用于在任务 n 之后调度任务 n+1
我自己已经两次实现了这个功能(两个不同的项目),因为在我偶然发现的情况下,这是实现它的最正确方法。
您可能会说这是微不足道的(确实如此),但如果它不是经常发生的事情,我没有提到它。
我的主要观点是,如果“追赶”策略被认为是“正确的”,那么我的方法在很多情况下同样正确,我认为 scheduleAtFixedRate 应该包括一个选项。这对我来说不是问题,我只是想看看是否有人知道这是否已经在 Java API 中实现,所以我不必时不时地编写代码。
【问题讨论】:
标签: java timeout scheduled-tasks