[英]Timer vs. ScheduledExecutorService scheduling
ScheduledExecutorService的推荐用途之一是直接替代 计时器class,正如许多StackOverflow
主题中已经讨论的那样:
但是, ScheduledExecutorService
和Timer
支持的方法的命名约定并不相同。 例如,尽管它们都有一个scheduleAtFixedRate()
方法,但 Timer 方法
没有同名对应物。
是ScheduledExecutorService
方法
代替使用的那个?
创建并执行一个周期性动作,该动作首先在给定的初始延迟后启用,随后在一个执行终止和下一个执行开始之间具有给定的延迟。
为重复的固定延迟执行安排指定的任务,在指定的延迟之后开始。 随后的处决以指定时间间隔的大致规则间隔进行。
我会说 - 是的;-)
Timer#schedule(TimerTask, long, long)
在ScheduledExecutorService
或其实现ScheduledThreadPoolExecutor
中没有对应项。 尽管此方法被记录为
重复固定延迟执行,
它与ScheduledThreadPoolExecutor#scheduleWithFixedDelay(...)
根本不同,更不用说ScheduledThreadPoolExecutor#scheduleAtFixedRate(...)
。 作为此答案的一部分,我已经更详细地解释了所有这些方法之间的区别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.