概述
在python中,只有多进程才可以充分利用CPU的资源,适合CPU计算型任务,其他的就不多说了。这里介绍一个 pool.map()方法,很实用!
pool.map()
先直接上代码:
import time
from multiprocessing.pool import Pool
def numsCheng(i):
return i * 2
if __name__ == '__main__':
time1 = time.time()
nums_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
pool = Pool(processes=5)
result = pool.map(numsCheng, nums_list)
pool.close()
# 关闭进程池,不再接受新的进程
pool.join()
# 主进程阻塞等待子进程的退出
print(result)
time2 = time.time()
print("计算用时:", time2-time1)
运行结果:
[2, 4, 6, 8, 10, 12, 14, 16, 18]
计算用时: 0.21639275550842285
解释说明:
1.看到Pool有一个processes参数,这个参数可以不设置,如果不设置函数会跟根据计算机的实际情况来决定要运行多少个进程,我们也可自己设置,但是要考虑自己计算机的性能。
2.map()函数。需要传递两个参数,第一个参数就是需要引用的函数,第二个参数是一个可迭代对象,它会把需要迭代的元素一个个的传入第一个参数我们的函数中。因为我们的map会自动将数据作为参数传进去
3.pool()开启了,不要忘记pool.close() 和 pool.join() 关闭进程池,以及让主进程阻塞等待子进程的退出。
最后
以上就是幸福羽毛为你收集整理的Python 多进程pool.map()方法的使用的全部内容,希望文章能够帮你解决Python 多进程pool.map()方法的使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复