你能告诉我如何在Win32和Linux上的Python2.6中获得高精度的睡眠功能?
答案 0 :(得分:60)
您可以在sleep()
中使用浮点数:
参数可以是浮点数,表示更精确的睡眠时间。
所以
time.sleep(0.5)
会睡半秒钟。
然而,在实践中,你不可能通过睡眠获得超过毫秒的精度,因为操作系统通常只支持毫秒睡眠,并且因为很短的时间很快就会变得不可靠。
答案 1 :(得分:10)
这是一个类似的问题:
how-accurate-is-pythons-time-sleep
在 linux 上如果您需要高准确度,可能需要考虑使用ctypes来调用nanosleep()或clock_nanosleep()。我不确定尝试这个的所有含义。
答案 2 :(得分:0)
def start(self):
sec_arg = 10.0
cptr = 0
time_start = time.time()
time_init = time.time()
while True:
cptr += 1
time_start = time.time()
time.sleep(((time_init + (sec_arg * cptr)) - time_start ))
# AND YOUR CODE .......
t00 = threading.Thread(name='thread_request', target=self.send_request, args=([]))
t00.start()
在linux上这是非常好的精度