time.time():
返回自纪元以来的秒数作为浮点数。 请注意,即使时间总是作为浮点返回 数字,并非所有系统都提供比1更精确的时间 第二。虽然此函数通常返回非递减值,但它 如果系统时钟有,则可以返回比先前调用更低的值 在这两个电话之间被搁置了。
我想在 Raspberry Pi 上使用时询问time.time()
的功能。我正在编写一个代码,我必须组织一个具有完美时序的系统[例如,每5秒做一次,而不是一秒钟或多或少!永远!]。但是,我注意到,当time.time()
的十进制值介于.95-.05之间时,第二次递增,而不是在十进制值为.00
示例:如果时间为1439286302.64,那么根据小数值,当它达到~1439286302.9x时,它将增加1秒。有谁知道它将增加1秒的确切边界是什么?因为我一直在测试,这似乎是随机的,我无法在网上找到答案。
我感谢所有人的帮助。
答案 0 :(得分:1)
某些伪代码至少应该每5秒保持平均值而不是复合抖动
time_started = time.time()
next_action_time = int(time_started) + 5
while True:
if next_action_time < time.time():
do_action!!!!!
next_action_time += 5
else:
waste_some_time()
确保您的其他流程符合您的时间预算。也可以让你的so_actions采样记录测量完成的实际时间。通过这种方式,您可以确认是否有抖动。