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%的錯誤...
有沒有辦法做到這一點,以良好的精度?