【发布时间】:2011-12-24 09:33:53
【问题描述】:
我在我的应用程序中使用java.util.Timer触发作业,但我发现它取决于系统时间:如果调整系统时间,则会影响定时器的触发器。
例如,如果系统时间倒退 80 秒,则计时器将停止工作 80 秒。
Java 有一个独立于系统时间的System.nanoTime 方法,但似乎它
不能用于Timer。
是否有支持我需要的计时器库?还是我必须自己实现?
请注意,我不需要精确的当前时间(日期),我需要精确的时间间隔
【问题讨论】:
-
从 Java 5.0 (2004) 开始,您可以使用 ScheduledExecutorService。
-
@PeterLawrey,nanoTime 自同一个版本以来就存在,所以 OP 应该知道 ScheduledExecutor。
-
我使用了 ScheduledExecutoeService,但我遇到了 64 位 JVM 的问题。请帮助stackoverflow.com/questions/9044423/…