不知怎么的,这让我的大脑炸开了锅,我不知道如何在函数完成后重新启动。目标是同时运行它们,当它们完成时,它们应该重新开始:
if __name__ == '__main__':
current_task += 1
Thread(target = main).start()
current_task += 1
Thread(target = main).start()
pass
您可以在main中使用while循环:
import threading
import time
def main():
while 1:
print("starting")
time.sleep(2)
print("done")
if __name__ == '__main__':
threading.Thread(target=main).start()
输出:
starting
done
starting
done
starting
...
您可以在main
-方法的末尾启动一个新线程:
def main():
# .. do some stuff ..
Thread(target=main).start()
if __name__ == '__main__':
current_task += 1
Thread(target = main).start()
current_task += 1
Thread(target = main).start()
pass
通过这种方式,两个线程在完成后都会生成一个具有新执行的新线程。