1. 前言
现在cpu动不动就是6核12进程,计算能力越来越强?当时我们真的都用上了么?在跑python代码时,请打开你的后台监控,看看python的CPU占比。如果不做特殊处理(排除你调用的库),很有可能你的代码只能占用100%,也就是一个进程,资源利用率低下。
还有另外一个故事,当你的计算复杂度很高的时候,比如处理某些大文件,如果你只用一个进程,很有可能得跑24小时,为了加速,你就得想办法把你的计算资源用起来,想办法并行运算。那么python什么库是来帮助我们进行并行计算的呢?
有请我们的multiprocess同学来发表获奖感言,“感谢cctv,感谢铁岭tv...”
2. multiprocess详解
multiprocess提供了两个类来实现多进程计算
2.1 Process
初始化 ,__init__(self, group=None, target=None, name=None, args=(), kwargs={}) 其中group分组,通常不用;target是要执行的函数;name名称;args表示给函数传递的参数
def do(i):
print(f"我是进程小{i} 我为自己带盐!")
for i in range(3):
p = Processor(target=do, args=(i, ), name=f"work_{I}")
p.start()
参数共享,python每次开启一个子进程ÿ