python写一个线程池
时间: 2024-10-22 07:10:30 浏览: 15
Python 如何创建一个线程池
在Python中,可以使用内置的`concurrent.futures`模块创建线程池。线程池是一个预先创建好固定数量线程的容器,可以并发执行任务,提高了程序的执行效率。以下是一个简单的例子,展示如何创建和使用线程池:
```python
import concurrent.futures
# 创建一个线程池,最大并发数为5
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
# 提交任务到线程池
futures = [executor.submit(task, arg1, arg2) for task, arg1, arg2 in tasks_list]
# 等待所有任务完成
concurrent.futures.wait(futures)
# 打印每个任务的结果
for future in futures:
result = future.result()
print(f"Task completed with result: {result}")
```
在这个例子中:
- `ThreadPoolExecutor`是用来创建线程池的对象。
- `max_workers`决定了线程池的最大并发数。
- `submit`方法用于提交任务给线程池,它接收一个函数和参数列表作为输入,并返回一个Future对象,表示该任务。
- `wait`方法让主线程等待直到所有的Future完成。
- `future.result()`获取并打印任务执行后的结果。
阅读全文