python线程池编程实例
时间: 2024-08-13 19:04:18 浏览: 52
在Python中,`concurrent.futures`模块提供了一个高级接口来进行线程池编程。这里有一个简单的例子,展示如何创建和使用线程池执行一系列任务:
```python
import concurrent.futures
# 定义一个计算函数,例如平方运算
def square(n):
return n ** 2
# 创建一个固定大小的线程池,比如8个线程
with concurrent.futures.ThreadPoolExecutor(max_workers=8) as executor:
# 准备一批待处理的任务
tasks = [executor.submit(square, i) for i in range(10)]
# 使用as_completed遍历已完成的任务
for future in concurrent.futures.as_completed(tasks):
try:
print(f"Square of {future.result()} is: {future.result()}")
except Exception as exc:
print(f"Exception raised: {exc}")
```
在这个例子中,我们首先创建了一个线程池,然后将1到9的数字作为任务提交给线程池。每个任务都是通过`submit()`方法提交的,这会返回一个`Future`对象,代表了这个任务的结果。最后,我们使用`as_completed()`迭代器来逐个获取完成的任务结果并打印。
阅读全文