如何等待直到所有线程都执行而不使用thread.join()?

时间:2019-01-22 16:39:47

标签: python python-3.x multithreading

我正在研究在递归函数中生成线程的代码。因此,遵循所有线程很乏味。 Thread.join()不可行。您可以做到,但需要付出很大的努力。我想要的是等待所有线程(子进程)完成,然后再运行线程后生成打印结果。我想您可以找到问题的要点。我只想在退出主程序之前执行一条语句。

1 个答案:

答案 0 :(得分:3)

您尝试使用concurrent.futures软件包吗?

您可以实例化ThreadPoolExecutor并通过提交来启动线程。 然后,调用执行程序的shutdown(wait=True)函数以等待所有线程完成。

或者,使用with ThreadPoolExecutor as e:语句。当退出with块时,所有线程均已完成。