根据Ubuntu下的Linux手册页
CLOCK_MONOTONIC
Clock that cannot be set and represents monotonic time since
some unspecified starting point.
CLOCK_MONOTONIC_RAW (since Linux 2.6.28; Linux-specific)
Similar to CLOCK_MONOTONIC, but provides access to a raw hard‐
ware-based time that is not subject to NTP adjustments.
根据韦伯斯特在线词典,单调意味着:
2:具有随自变量或项下标的值增加而永不增加或永不减少的属性。
换句话说,它不会向后跳。我可以看到,如果您正在计时某些代码,那么这将是一个重要的属性。
但是,普通版本和原始版本之间的区别尚不清楚。有人可以阐明NTP如何仍然影响CLOCK_MONOTONIC吗?
CLOCK_MONOTONIC
永远不会由于NTP时间调整而经历中断,但是它确实会改变频率,因为NTP了解本地振荡器和上游服务器之间存在什么错误。
CLOCK_MONOTONIC_RAW
只是本地振荡器,不受NTP约束。如果您想针对由于NTP而无法解决问题的时钟实施其他时间同步算法,这可能非常有用。尽管ntpd(NTP协议的参考实现和最广泛的NTP守护程序)被称为具有时间调整功能的“温和”,但准确地说是绝对时间比较温和。它愿意将时钟摆幅降低500ppm,如果您能够相对于其他标准来测量时钟频率,那将是非常惊人的。
在CLOCK_MONOTONIC_RAW
诸如此类的设施pthread_timedwait_monotonic
提供使用该时基的选项之前,的效用将受到限制。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句