(在python3.6 / ubuntu 16.04上运行)
我正在使用python threading.Event等待事件X时间。 我注意到在等待期间更改系统时间会影响等待时间:
import threading
def waiter():
e = threading.Event()
print("wait 60 seconds")
e.wait(60.0)
import os
import time
def changer():
for x in range(5):
os.system("/bin/date -s 2019-01-08T05:17:03.000")
time.sleep(1)
os.system("/bin/date -s 2019-01-08T07:17:03.000")
t1 = threading.Thread(target=waiter)
t2 = threading.Thread(target=changer)
t2.start(); time.sleep(0.5); t1.start(); t1.join(); t2.join()
我有点困惑。事件是使用单调时间(PEP 418)实现的吗?为什么这段代码要花几秒钟才能完成,而至少需要60秒呢?