python多线程池
时间: 2023-10-12 18:04:56 浏览: 90
Python 线程池
在 Python 中,可以使用 `concurrent.futures` 模块来创建和管理线程池。`concurrent.futures` 提供了一个高级的接口来处理并发任务,包括线程池和进程池。
下面是一个使用线程池的示例:
```python
import concurrent.futures
# 定义一个任务函数
def task(arg):
# 执行任务的逻辑
print(f'Task {arg} is running')
# 返回结果
return f'Task {arg} is done'
# 创建线程池
with concurrent.futures.ThreadPoolExecutor() as executor:
# 提交任务到线程池
results = [executor.submit(task, i) for i in range(5)]
# 获取任务结果
for future in concurrent.futures.as_completed(results):
result = future.result()
print(result)
```
在上面的示例中,我们首先定义了一个 `task` 函数,用于执行具体的任务逻辑。然后,我们使用 `ThreadPoolExecutor` 创建了一个线程池,并使用 `executor.submit()` 方法将任务提交给线程池。提交任务后,我们使用 `concurrent.futures.as_completed()` 来获取任务的结果。
注意,在 `with` 语句块中创建的线程池会在使用完后自动关闭。
除了线程池,`concurrent.futures` 还提供了进程池的功能,使用方法类似。你可以根据具体的需求选择适合的并发处理方式。
阅读全文