4.1.3 单调时钟
由于time()查看系统时钟,并且用户或系统服务可能改变系统时钟来同步多个计算机上的时钟,所以反复调用time()所产生的值可能向前和向后。试图测量持续时间或者使用这些时间来完成计算时,这可能会导致意想不到的行为。为了避免这些情况,可以使用monotonic(),它总是返回向前的值。
import time
start = time.monotonic()
time.sleep(0.1)
end = time.monotonic()
print('start:{:>9.2f}'.format(start))
print('end :{:>9.2f}'.format(end))
print('span :{:>9.2f}'.format(end - start))
单调时钟的起始点没有被定义,所以返回值只是在与其他时钟值完成计算时有用。在这个例子中,使用monotonic()来测量睡眠持续时间。
运行结果: