【发布时间】:2010-08-18 15:54:49
【问题描述】:
我有一个使用 ntp 的盒子,我们在上面运行了几个显示时钟的 java 程序。我们遇到的问题是,如果有任何事情使系统时间倒退,我们所有的计时器都会执行诸如动画时钟停止之类的操作,并等待系统时间回到原来的位置。我需要找到一种方法来检测系统时间何时向后更改并重置我们所有的计时器或一组可以重复调度但仍然可以防止时钟更改的计时器。
请注意,我已经尝试过石英计时器包,它与常规 java 计时器有同样的问题。
【问题讨论】:
-
时钟回了多远? ntp 通常使用时钟摆动来向任一方向微调时钟,并且不需要将其更改很多秒。
-
系统中的一些错误将时间缩短了 3 或 4 小时。几乎就像我们有 2 个无法达成一致的竞争 ntp 服务器。