使用多线程python无限次运行函数



不知怎么的,这让我的大脑炸开了锅,我不知道如何在函数完成后重新启动。目标是同时运行它们,当它们完成时,它们应该重新开始:

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

通过这种方式,两个线程在完成后都会生成一个具有新执行的新线程。

最新更新