Wall Clock&Monotonic Clock

1. 两种系统时钟的对比

​时钟类型​

​墙钟(Wall Clock)​

​单调时钟(Monotonic Clock)​

​本质​

系统显示时间

系统启动后的计时器

​是否可被修改​

✅(受NTP同步、时区变更等影响)

❌(始终单调递增)

​用途​

显示人类可读时间

精确测量时间间隔

​稳定性​

可能向前/向后跳跃

严格线性递增

​示例​

桌面右下角显示的时间

程序运行的精确耗时

2. Go 的关键设计

t := time.Now() // 同时包含墙钟读数和单调时钟读数
  • ​双时钟封装​​:time.Time 对象同时携带两种时间信息

  • ​智能切换​​:根据操作类型自动选择时钟源

    • 时间展示 → 使用墙钟(如 t.Format()

    • 时间计算 → 使用单调时钟(如 t.Sub()

最后更新于