我想每 10 秒调用一个函数(实际上,它是一个 Web API)。但该函数可能需要随机 t 秒才能返回。 (假设 t 为 0.1 至 1.0 秒)
我们能想到的最简单的代码是
while True:
func() # take t sec
time.sleep(10) # sleep 10 sec
但在这种情况下,func
每 (1+t) 秒调用一次。
有更好的方法吗?
我们应该使用多线程或类似的东西吗?具体的代码示例将不胜感激。谢谢。
只需记住下一次迭代何时发生,大致如下(不是完全有效的代码,我相信您可以从这里弄清楚):
import time
nexttime = time.time()
while True:
func() # take t sec
nexttime += 10
sleeptime = nexttime - time.time()
if sleeptime > 0:
time.sleep(sleeptime)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)