|
19
|
| qrunchmonkey · 技术社区 · 17 年前 |
|
1
50
存在以下文件:
在这个文件中,您将找到一个名为
正如您所看到的,滴答声计数器与正常的系统时钟有些不同。首先,系统启动时,系统时钟不是从零开始,而是在系统当前“挂钟时间”的最佳近似值。正常系统时钟也没有严格向上运行,例如,系统时钟可能提前,系统使用NTP(网络时间协议)定期同步系统时间。如果系统在下一次NTP同步时注意到它比时间提前了两秒,则会将系统时钟向后拨两秒以进行校正。这经常会破坏软件,因为许多程序员依赖于这样一个事实:系统时间从不倒退;但它确实如此,而且是被允许这样做的。最后一个区别是,正常的系统时间不会在系统睡眠时停止,但滴答计数器不会在系统睡眠时增加。当系统再次唤醒时,它只比进入睡眠时间提前几点。 那么,如何将这些滴答声转换为真正的“时间值”?
可以使用函数获取此结构的正确值
但是,此函数不太可能返回错误,并且
通过将第一个数字转换为
小贴士: 如果您经常需要将时间值转换为滴答声,通常(取决于CPU)乘法比除法更快:
现在你可以乘
当然,每次需要时重新计算这些因素是浪费时间的。这些因素是恒定的,在系统运行时它们永远不会改变。因此,您可以在应用程序开始时的某个位置计算它们,并将它们保留到应用程序再次退出为止。
|
|
|
2
8
你需要使用
见:
|