您的位置:首页 > 其它

CLOCK_MONOTONIC and CLOCK_REALTIME

2015-03-15 21:25 106 查看
Middleware对POSIX提供的标准计时器API进行封装,主要提供了两种类型的时钟的封装。一种是CLOCK_REALTIME,另一种是CLOCK_MONOTONIC。对与man手册的解释是:

CLOCK_REALTIME: Systemwide realtime clock. 系统范围内的实时时钟。

CLOCK_MONOTONIC:Represents monotonic time. Cannot be set. 表示单调时间,不能被设置的。

手册中解释的比较笼统。我个人的理解是:

CLOCK_REALTIME:这种类型的时钟可以反映wall clock time,用的是绝对时间,当系统的时钟源被改变,或者系统管理员重置了系统时间之后,这种类型的时钟可以

得到相应的调整,也就是说,系统时间影响这种类型的timer。

CLOCK_MONOTONIC:用的是相对时间,他的时间是通过jiffies值来计算的。该时钟不受系统时钟源的影响,只受jiffies值的影响。

建议使用:

CLOCK_MONOTONIC这种时钟更加稳定,不受系统时钟的影响。如果想反映wall clock time,就使用CLOCK_REALTIME。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: