Wall Clock&Monotonic Clock
1. 两种系统时钟的对比
时钟类型
墙钟(Wall Clock)
单调时钟(Monotonic Clock)
本质
系统显示时间
系统启动后的计时器
是否可被修改
✅(受NTP同步、时区变更等影响)
❌(始终单调递增)
用途
显示人类可读时间
精确测量时间间隔
稳定性
可能向前/向后跳跃
严格线性递增
示例
桌面右下角显示的时间
程序运行的精确耗时
2. Go 的关键设计
t := time.Now() // 同时包含墙钟读数和单调时钟读数
双时钟封装:
time.Time
对象同时携带两种时间信息智能切换:根据操作类型自动选择时钟源
时间展示 → 使用墙钟(如
t.Format()
)时间计算 → 使用单调时钟(如
t.Sub()
)
最后更新于