from concurrent.futures import ThreadPoolExecutor 库函数
时间: 2024-10-22 20:11:39 浏览: 12
Python并发concurrent.futures和asyncio实例
`from concurrent.futures import ThreadPoolExecutor` 这一行导入了 Python `concurrent.futures` 模块下的 `ThreadPoolExecutor` 类。`ThreadPoolExecutor` 是一个用于异步计算的强大工具,它允许你在单个线程池中并行地执行多个任务。它是多线程执行模型的一部分,适合那些不太适合同步执行的情况,比如网络请求、IO操作等,因为它们往往是非阻塞的,可以在等待期间继续处理其他任务。
当你创建一个 `ThreadPoolExecutor` 实例时,你可以指定线程池的最大大小。然后,你可以使用 `.submit()` 方法提交一个可调用对象(如函数或方法),该方法会返回一个 `Future` 对象,你可以通过它获取结果或取消任务。这种方式避免了直接管理线程,提高了并发性能。
举个例子:
```python
with ThreadPoolExecutor(max_workers=5) as executor:
future1 = executor.submit(long_running_task1, arg1, arg2)
future2 = executor.submit(long_running_task2, arg3, arg4)
# 主线程不会阻塞在这里,它可以去执行其他的任务
result1 = future1.result() # 当long_running_task1完成时,获取其结果
result2 = future2.result()
```
阅读全文