2
我想在一段时间内多次重复一次任务,并且希望以统一的方式执行该任务,所以如果我想在1秒内执行4次任务,它应该在t = 0,0.25,0.5和0.75时执行。在t秒内一次执行x次动作
所以,现在我做:
import math
import socket
s = socket.socket(...) #not important
time_step = 1./num_times_executed
for _ in num_times_executed:
now = time.time()
s.sendto(...) #action i do
time.sleep(max(0,time_step-(time.time()-now)))
然而,有一个很大的开销,越大的环路是越飘我得到。例如对于num_times_executed = 800,它需要1.1秒,所以~10%的错误...
有没有办法做到这一点,以良好的精度?