Python-性能调优-并行-多进程-multiprocessing

官方文档

multiprocessing 是一个使用类似于 threading 模块的 API 支持生成进程的包。 multiprocessing 包提供本地和远程并发,有效地避免了通过使用子进程而不是线程来实现全局解释器锁。因此, multiprocessing模块允许程序员充分利用给定机器上的多个处理器。

Pool 并行池实现

一个典型的例子是 Pool 对象提供了一种方便的方法,可以跨多个输入值并行执行函数,跨进程分配输入数据(数据并行性)。以下示例演示了在模块中定义此类函数以便子进程可以成功导入该模块的常见做法。这是使用 Pool 数据并行性的基本示例,

1
2
3
4
5
6
7
8
9
10
11
from multiprocessing import Pool

def f(x):
return x*x

if __name__ == '__main__':
with Pool(5) as p: # 设置启动5个进程
# 提供一个要并行的函数,和对应需要进行并行处理的数据(list)的格式
print(p.map(f, [1, 2, 3]))
# [1, 4, 9]
# 返回的是一个list,和输入的list一一对应,对应输入list中每个元素经过所提供函数处理后的返回值

process

-------------本文结束感谢您的阅读-------------