Timer.schedule interval:在重新启动间隔之前等待run方法完成的间隔时间吗?

时间:2017-04-10 23:02:55

标签: java timer

我创建了一个Timer对象:

Timer timer = new Timer()
TimerTask timerTask = new TimerTask() {
    @Override
    public void run() {
        doSomething();
    }
});
timer.schedule(timerTask, 0, 10 * 1000);

这是一个每10秒运行一次的计时器。当完成运行所需的时间doSomething()大于间隔时会发生什么?计时器是否等待run()完成再次开始间隔之前?

1 个答案:

答案 0 :(得分:0)

来自JavaDocs

  

每次执行都是相对于上一次执行的实际执行时间进行调度的。如果执行因任何原因(例如垃圾收集或其他后台活动)而延迟,则后续执行也会延迟

如果没有更多细节,我建议您查看Timer#scheduleAtFixedRate