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

jecbmhm3  于 2021-07-14  发布在  Java
关注(0)|答案(2)|浏览(344)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

14小时前关门了。
改进这个问题
不知何故,这是煎炸我的大脑,我不知道如何让功能重新开始后,他们完成了。目标是在同一时间运行它们,当它们完成时,它们应该重新开始:

if __name__ == '__main__':
    current_task += 1
    Thread(target = main).start()
    current_task += 1
    Thread(target = main).start()
    pass
xlpyo6sf

xlpyo6sf1#

您可以在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
...
zvokhttg

zvokhttg2#

你可以在工作结束时开始一个新的线程 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

这样,两个线程在完成后都会生成一个新线程,并执行一次新的执行。

相关问题