我知道我必须使用它而不是java.util.Timer因为各种原因。所以,为了研究这个,我正在查看文档,我有几个问题:
- 如何
scheduleWithFixedDelay()工作?我的理解是:它在给定延迟后首先执行任务。一旦任务完成,它会等待指定的时间,然后再次执行任务。 - 当我提交的任务
scheduleAtFixedRate()执行时间比指定的延迟时间长时会发生什么?就像我希望任务每 5 秒执行一次,但需要 10 秒才能完成。 我的理解是任务将被保存在队列中,一旦核心线程可用就会执行 - 这是我对如何
scheduleWithFixedDelay()和scheduleAtFixedRate()不同的理解:scheduleWithFixedDelay()等待任务完成执行,等待指定的时间,然后再次触发任务,因为scheduleAtFixedRate将继续触发任务而不关心它是否完成。正确的?