import threading, time
def func_long(ev):
# do stuff here
for _ in range(12):
print("Long func still working")
time.sleep(1)
# if complete
ev.set()
def run_func(ev, nsec):
if ev.is_set():
return
print ("Here run periodical stuff")
threading.Timer(nsec, run_func, [ev, nsec]).start()
def main():
ev = threading.Event()
threading.Timer(5.0, run_func, [ev, 5]).start()
func_long(ev)
if __name__=='__main__':
main()
这是一个非常简单的例子。如果在第一个函数完成时终止第二个函数对您很重要,那么仍然可以对其进行调优。你知道吗
相关问题 更多 >
编程相关推荐