CLOCK_MONOTONIC 与 CLOCK_REALTIME 区别
CLOCK_MONOTONIC 指的是 monotonic time,而 CLOCK_REALTIME 指的是 wall time。
monotonic time 的字面意思是单调时间,实际上,指的是系统启动之后所流逝的时间,这是由变量 jiffies 来记录的,当系统每次启动时,jiffies 被初始化为 0,在每一个 timer interrupt 到来时,变量 jiffies 就加上 1,因此这个变量代表着系统启动后的流逝 tick 数。jiffies 一定是单调增加的,因为时间不可逆。
wall time 的字面意思是挂钟时间,实际上,指的是现实的时间,这是由变量 xtime 来记录的。系统在每次启动时,将 CMOS 上的 RTC 时间读入 xtime,这个值是自从 1970 年 1 月 1 日起经历的秒数,在每一个 timer interrupt 到来时,变量 xtime 也会加上 1。
注意,xtime 不一定是单独增加的。因为 wall time 是指现实中的实际时间,如果系统要与网络中某个节点时间同步,或者系统管理员觉得 wall time 与现实的时间不一致,就可能随意地更改这个 wall time。最常见的情况,用户可以去任意修改系统时间,这个被修改的时间就是 wall time。
链接:https://www.jianshu.com/p/b2b0be67fd59
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了