ThreadPoolExecutor 异步
时间: 2023-11-02 14:59:02 浏览: 177
ThreadPoolExecutor 是 Python 中的一个线程池实现,可以用来异步执行多个任务。
使用 ThreadPoolExecutor 可以创建一个线程池,并且可以通过提交任务给线程池来异步执行这些任务。它提供了一些方法来管理线程池的行为,比如设置最大线程数、提交任务、等待任务完成等。
下面是一个简单的示例代码,展示了如何使用 ThreadPoolExecutor 来实现异步执行任务:
```python
from concurrent.futures import ThreadPoolExecutor
# 定义一个任务函数
def do_task(task_name):
print(f"Starting task: {task_name}")
# 执行任务的具体操作
# ...
# 创建一个线程池,最大线程数为 3
executor = ThreadPoolExecutor(max_workers=3)
# 提交任务给线程池
executor.submit(do_task, "Task 1")
executor.submit(do_task, "Task 2")
executor.submit(do_task, "Task 3")
# 关闭线程池
executor.shutdown()
# 等待所有任务完成
executor.wait()
```
在上述示例中,我们首先定义了一个名为 `do_task` 的函数,该函数表示要执行的具体任务操作。然后,我们创建了一个 `ThreadPoolExecutor` 对象,并设置最大线程数为 3。接着,我们使用 `submit` 方法将三个任务提交给线程池进行异步执行。最后,我们关闭线程池,并使用 `wait` 方法等待所有任务完成。
通过使用 ThreadPoolExecutor,我们可以更方便地实现任务的异步执行,提高程序的并发性能。
阅读全文