首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.util.Timer SystemTime效应?

java.util.Timer SystemTime效应?
EN

Stack Overflow用户
提问于 2011-08-20 15:35:05
回答 1查看 719关注 0票数 3

我说现在是6点,我有一个Timer,并安排在10点有一个TimerTask。在此之后,其他服务(例如ntp)将系统DateTime调整为9点。我仍然希望我的TimerTask在10点被触发,但是它没有,Timer仍然等待接下来4个小时,然后终止我的TimerTask。在这种情况下我应该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-20 15:44:12

首先,如果你的时钟落后了4个小时,你已经陷入了相当糟糕的境地。通常,时间调整只会是毫秒或秒-或者偶尔一分钟或两分钟,如果机器很长时间没有在线的话。一种选择是在设置计时器之前,通过进行您自己的NTP调用来检查时间是否合理准确。

另一种选择是创建一个合理地定期调用的计时器-例如每分钟或五分钟一次-它检查时间,然后可选地采取行动。它的效率稍低,但我不认为唤醒单个线程每分钟执行一次简单检查的影响会对性能产生重大影响。您应该根据您需要的计时器触发的精确度以及对性能的影响有多小来调整检查的规律性。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7130467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档