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,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库