python 等待线程池运行完毕
时间: 2024-04-10 17:26:05 浏览: 292
资源池等待所有线程执行完毕的方法
在Python中,可以使用线程池来并发执行多个任务。当你希望等待线程池中的任务全部完成后再继续执行后续代码时,可以使用`ThreadPoolExecutor`类来管理线程池,并通过`submit`方法提交任务。
下面是一个示例代码,演示如何等待线程池中的任务全部完成:
```python
import concurrent.futures
# 定义一个任务函数
def task(n):
print(f"Task {n} started")
# 模拟任务执行时间
time.sleep(2)
print(f"Task {n} finished")
# 创建线程池
with concurrent.futures.ThreadPoolExecutor() as executor:
# 提交任务到线程池
futures = [executor.submit(task, i) for i in range(5)]
# 等待所有任务完成
concurrent.futures.wait(futures)
print("All tasks finished")
```
在上述代码中,我们首先定义了一个`task`函数作为要执行的任务。然后使用`ThreadPoolExecutor`创建了一个线程池,并通过`submit`方法提交了5个任务。接着使用`concurrent.futures.wait`函数等待所有任务完成。最后输出"All tasks finished"表示所有任务已经完成。
阅读全文