python 进程池的用法
时间: 2023-11-03 22:05:58 浏览: 87
Python 进程池是一种用于管理并发执行任务的机制。它是一组已经启动的进程,可以被重复使用来执行多个任务而不需要重新创建进程,从而提高了程序的效率。
下面是 Python 进程池的用法:
1. 导入 multiprocessing 模块:
```
import multiprocessing
```
2. 创建进程池:
```
pool = multiprocessing.Pool(processes=num)
```
其中,num 表示进程池中进程的数量。
3. 向进程池中添加任务:
```
result = pool.apply_async(func, args)
```
其中,func 表示要执行的函数,args 是函数的参数。
4. 获取任务的结果:
```
output = result.get()
```
5. 关闭进程池:
```
pool.close()
pool.join()
```
这里的 `close()` 方法表示不再接受新的任务,`join()` 方法表示等待所有任务执行完毕。
完整代码示例:
```
import multiprocessing
def func(x):
return x * x
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=4)
results = []
for i in range(10):
result = pool.apply_async(func, args=(i,))
results.append(result)
pool.close()
pool.join()
for result in results:
print(result.get())
```
在这个例子中,我们创建了一个进程池,并向其添加了 10 个任务。每个任务都是调用 `func` 函数并传递不同的参数。最后,我们通过调用 `result.get()` 方法来获取每个任务的结果,并将其打印出来。
阅读全文