猿问

在不受时钟变化影响的情况下对操作进行计时

我在找:


1: startTime := time.Now()


2: // run something here that takes a while (measured in milliseconds)


3: duration := time.Since(startTime)

但是,我需要一些不受时钟时间变化影响的东西。如果在第 1 行和第 3 行之间调整时间,则持续时间将不准确。


解决这个问题的常用方法有哪些,哪些 Go 库可能相关?


九州编程
浏览 218回答 2
2回答

慕标琳琳

缺乏单调时钟在issue 12914 (2015) 中有详细说明从那时起,在 2017 年 8 月和 Go 1.9 中,您现在拥有透明的单调时间支持:该time包现在透明地跟踪每个Time值中的单调时间,使两个Time值之间的计算持续时间在挂钟调整的情况下成为安全操作。有关详细信息,请参阅包文档和设计文档。
随时随地看视频慕课网APP

相关分类

Go
我要回答