微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CLOCK_MONOTONIC&CLOCK_MONOTONIC_RAW和有什么区别?

根据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.

根据webster在线词典单调意味着:

2:具有从不增加或从不减less的性质,因为自variables的值或术语的下标增加

换句话说,它不会倒退。 我可以看到,如果你计算一些代码,这将是一个重要的属性

在Linux中获得时序一致性

在运行在Linux上的C ++程序中定时一个函数

如何在Apache 2.0中以毫秒级的精度时间标记请求日志

Linux时间和性能时钟在代码中的区别

在C ++中测量对system()的调用的执行时间

但是,正常版本与原始版本之间的区别并不明确。 有人可以解释一下NTP如何影响CLOCK_MONOTONIC吗?

由于NTP时间调整, CLOCK_MONOTONIC不会遇到不连续性,但NTP知道本地振荡器和上游服务器之间存在哪些错误,因此频率会发生变化。

CLOCK_MONOTONIC_RAW只是本地振荡器,不受NTP的约束。 这可能是非常有用的,如果你想实施一些其他时间同步算法针对一个时钟,这是不是因为NTP战斗你。 虽然ntpd(NTP协议的参考实现和最广泛的NTP守护进程)被称为随时间调整的“温和”,但更准确的说,它与绝对时间是平缓的。 如果你能够根据其他标准测量你的时钟频率,它肯定会把时钟降低500ppm。

CLOCK_MONOTONIC_RAW的实用程序将被限制,直到像pthread_timedwait_monotonic这样的设施提供使用该时基的选项。

如果差值低于某个阈值, ntpd不会导致跳转 。 而是使用类似于调整的调整,影响CLOCK_MONOTONIC和CLOCK_REALTIME (但不是CLOCK_MONOTONIC_RAW ,显然)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐