1.pool创建多个进程

from multiprocessing import Pool
import time
def test(p):print(p)time.sleep(3)
if __name__=="__main__":pool = Pool(processes=2)for i in range(10):# pool.apply(test, args=(i,)) # 同步调用,每次只取一个pool.apply_async(test, args=(i,)) # 异步调用每次把池子里的进程全部取出pool.close() # 在使用apply_async时必须先close,否则pool不知道如何调用pool.join() # 如果没有join则子进程会立刻结束

2.pool接受进程返回结果

只有_async方法有返回结果

from multiprocessing import Pool
import time
def test(p):time.sleep(1)return p*p
if __name__=="__main__":res_lst = []pool = Pool(processes=2)for i in range(10):res = pool.apply_async(test, args=(i,))res_lst.append(res)pool.close()pool.join()[print(result.get()) for result in res_lst]

3.回调函数

进程池中一个进程处理完任务之后,这进程可以调用一个函数去处理该进程返回的结果,这个函数就是回调函数。

from multiprocessing import Pooldef func(info):print("回调加工subp方法的返回结果:"+str(info/10))def subp(i):return i * iif __name__ == '__main__':pool = Pool()for i in range(7):res = pool.apply_async(subp, args=(i, ), callback=func) # subp的返回值作为func的参数传递pool.close()pool.join()

4.其他

map_async和apply_async区别是写法不同

from multiprocessing import Pool
import time
def test(i):print(i)time.sleep(2)
if  __name__ == "__main__":lists = [1, 2, 3]pool = Pool(processes=2)# pool.map(test, lists)pool.map_async(test, lists)pool.close()pool.join()

参考:
https://blog.51cto.com/ljbaby/2446647

python Multiprocessing Pool 应用相关推荐

  1. python多路分支_用于多个参数的python multiprocessing pool.map

    在python多处理库中,是否有pool.map的变体支持多个参数? text ="test" def harvester(text, case): X = case[0] tex ...

  2. python子进程关闭fd_如果创建了multiprocessing.Pool,Python子进程wait()将失败

    在一个使用subprocess到gzip输出的简单脚本中(使用subprocess.PIPE到外部命令的stdin),如果在创建子进程和关闭进程的stdin之间创建了multiprocessing.P ...

  3. python process pool_python multiprocessing.Process,multiprocessing.Pool区别(不同之处)

    我们知道GIL Lock禁用了Python中的多线程功能.在Python中multiprocessing提供了两个用于多进程的类,即Process和Pool类.在以下各节中,我已对使用pool和pro ...

  4. python 多进程 调用模块内函数_Python进程池multiprocessing.Pool的用法

    一.multiprocessing模块 multiprocessing模块提供了一个Process类来代表一个进程对象,multiprocessing模块像线程一样管理进程,这个是multiproce ...

  5. python processpoolexector 释放内存_使用Python的multiprocessing.pool,内存使用量不断增长...

    这是程序: #!/usr/bin/python import multiprocessing def dummy_func(r): pass def worker(): pass if __name_ ...

  6. python进程池:multiprocessing.pool

    阅读目录 例1:使用进程池 例2:使用进程池(阻塞) 例3:使用进程池,并关注结果 例4:使用多个进程池 在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操 ...

  7. Python 进程池 multiprocessing.Pool - Python零基础入门教程

    目录 一.Python 进程池 multiprocessing.Pool 介绍 二.Python 进程池 multiprocessing.Pool 使用 三.猜你喜欢 零基础 Python 学习路线推 ...

  8. python进程池win出错_解决windows下python3使用multiprocessing.Pool出现的问题

    例如: from multiprocessing import Pool def f(x): return x*x pool = Pool(processes=4) r=pool.map(f, ran ...

  9. Python 多进程 multiprocessing.Pool类详解

    multiprocessing模块 multiprocessing包是Python中的多进程管理包.它与 threading.Thread类似,可以利用multiprocessing.Process对 ...

最新文章

  1. Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明
  2. Altium designer原理图库中元件变动后在原理图中同步更新方法
  3. Oracle入门(十四.11)之使用显式游标属性
  4. matlab 实验5,MATLAB实验5报告.doc
  5. Apsara Stack 技术百科 | 可运营的行业云,让云上资源跑起来
  6. linux shell 命令执行结果,如何通过程序执行shell命令并获取命令执行结果?
  7. 如何使用JMeter来实现更大批量的并发的解决方案(即如何设置controller和Agent)
  8. Android Sqlite 数据库版本更新
  9. Flutter TextField 文本输入框的基本属性及详解
  10. 迅捷新版PDF转换器
  11. python计算权重_python 计算权重的代码
  12. Activity启动流程(二)system_server进程处理启动Activity请求
  13. shape from shading
  14. 最短路径——DFS、Dijkstra、Floyd、Bellman-Ford、spfa
  15. 向量线性无关和正交及其关系
  16. Python 基于积分原理计算定积分并可视化数值积分计算的动画过程
  17. x must be 1d
  18. MRI数据预处理--使用FSL-BET轻松去头骨,提取脑组织
  19. HTTP概念协议报文结构请求响应数据报分析
  20. 亚马逊发多款新品:智能眼镜来了 没摄像头支持语音

热门文章

  1. vs.net c# 安装、注册windows service服务,判断服务是否存在,是否启动
  2. 用C#实现MD5算法
  3. 9-算法 希尔排序 shell_sort
  4. python 获取浏览器句柄下的网页控件_python webdriver操作浏览器句柄
  5. 07:有趣的跳跃【一维数组】
  6. Python操作Word文档的节属性和页眉/页脚
  7. Python绘制匀加速运动质点的速度-时间图像与位移-时间图像
  8. 一维序列卷积之Python实现
  9. java报错信息怎么看_AE-E3D插件无效或提示OPENGL E3D Debug等错误报错信息怎么办?...
  10. scp瓶中船是什么梗_早安打工人是什么梗?