Python 线程池
时间: 2023-06-30 20:27:12 浏览: 103
Python 线程池是一种线程管理方式,它通过预先创建一定数量的线程,将需要执行的任务放入任务队列中,由线程池中的线程来处理任务,从而避免了线程的频繁创建和销毁,提高了线程的利用率和程序的性能。
在 Python 中,可以使用标准库中的 concurrent.futures 模块来创建线程池。具体实现步骤如下:
1. 导入 concurrent.futures 模块;
2. 创建 ThreadPoolExecutor 对象,指定线程池中线程的数量;
3. 将需要执行的任务通过 submit 方法提交到线程池中,返回一个 future 对象;
4. 使用 result 方法获取任务执行的结果。
下面是一个简单的示例代码:
```python
import concurrent.futures
def task(n):
return n ** 2
if __name__ == '__main__':
with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
futures = [executor.submit(task, i) for i in range(10)]
for future in concurrent.futures.as_completed(futures):
print(future.result())
```
在上面的示例代码中,创建了一个最大线程数为 3 的线程池,将需要执行的任务通过 submit 方法提交到线程池中,最后使用 as_completed 方法获取任务的执行结果。
阅读全文