Timer与ScheduledExecutorService调度

时间:2018-02-23 21:32:35

标签: java timer scheduling scheduledexecutorservice

ScheduledExecutorService的推荐用法之一是Timer类的直接替代,已在众多StackOverflow主题中讨论过:

但是,ScheduledExecutorServiceTimer支持的方法的命名惯例并不相同。例如,虽然它们都有scheduleAtFixedRate()方法,但Timer方法

  • 计划(TimerTask任务,长延迟,长期)

没有同名对手。

ScheduledExecutorService方法

  • scheduleWithFixedDelay(Runnable命令,long initialDelay,long delay,TimeUnit unit)

要使用的那个?

1 个答案:

答案 0 :(得分:1)

https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html#scheduleAtFixedRate(java.lang.Runnable,%20long,%20long,%20java.util.concurrent.TimeUnit)

  

创建并执行首先启用的定期操作   在给定的初始延迟之后,随后以给定的延迟   在一次执行的终止和一次执行的开始之间   下。

https://docs.oracle.com/javase/7/docs/api/java/util/Timer.html#schedule(java.util.TimerTask,%20long,%20long)

  

为重复的固定延迟执行安排指定的任务,   在指定的延迟后开始。随后的执行将会发生   按规定的时间间隔按规定的时间间隔分开。

我会说 - 是的; - )