python实现线程池
时间: 2024-10-18 21:03:04 浏览: 28
浅谈python 线程池threadpool之实现
Python中可以使用`concurrent.futures`模块来实现线程池,它提供了一种高阶、易于使用的API来并发地执行任务。`ThreadPoolExecutor`是其中的一个关键类,它可以让你在固定大小的线程池中运行函数。
以下是一个简单的例子:
```python
import concurrent.futures
def worker_function(number):
# 这里是你想要线程执行的任务
print(f"Working on {number}")
# 创建线程池
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
# 提交任务到线程池
futures = [executor.submit(worker_function, i) for i in range(10)]
# 等待所有任务完成
for future in concurrent.futures.as_completed(futures):
print("Task completed:", future.result())
```
在这个例子中,我们创建了一个包含最多5个线程的线程池。然后将10个任务提交给线程池,每个任务都是`worker_function`函数对一个数字的调用。`as_completed`会按顺序返回已完成的任务,我们可以获取它们的结果。
阅读全文