python实现线程池并写五个子线程
时间: 2024-11-05 10:33:44 浏览: 4
Python中的`concurrent.futures`模块提供了一个方便的方式来创建和管理线程池。线程池可以帮助我们在多核系统上执行并发任务,提高程序性能。下面是一个简单的例子,展示如何使用`ThreadPoolExecutor`来创建一个包含5个子线程的线程池:
```python
import concurrent.futures
# 定义一个计算平方的任务函数
def square(n):
return n * n
# 创建一个线程池,最大线程数为5
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
# 提交5个任务到线程池
futures = [executor.submit(square, i) for i in range(10)]
# 等待所有任务完成,并打印结果
for future in concurrent.futures.as_completed(futures):
try:
print(f"Square of {future.result()}: {future.result()}")
except Exception as exc:
print(f"Exception raised: {exc}")
```
在这个例子中,我们创建了一个包含5个线程的线程池,然后提交了10个计算平方的任务。当所有的任务完成后,我们会遍历`as_completed`迭代器来获取每个任务的结果。
阅读全文