【发布时间】:2014-01-19 10:22:34
【问题描述】:
我正在寻找以给定时间间隔安排任务的解决方案,
但我必须能够重新启动应用程序并让它在正确的时间执行任务。
我真的不想使用像 Quartz 这样的任何外部库。
任何帮助表示赞赏。 :)
【问题讨论】:
标签: java scheduled-tasks task scheduling scheduler
我正在寻找以给定时间间隔安排任务的解决方案,
但我必须能够重新启动应用程序并让它在正确的时间执行任务。
我真的不想使用像 Quartz 这样的任何外部库。
任何帮助表示赞赏。 :)
【问题讨论】:
标签: java scheduled-tasks task scheduling scheduler
只需将开始时间保存在文件中即可。那么就可以随时使用取模运算符来获取下一个执行时间:
nextExecutionTime = (startTime - currentTime) % interval + currentTime;
【讨论】:
ScheduledExecutorService 管理它,然后就这样做吗? ses.schedule(someTask, (lastExecution + interval) - currentTime, TimeUnit.MilliSeconds);