python Multiprocessing Pool 应用
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 应用相关推荐
- python多路分支_用于多个参数的python multiprocessing pool.map
在python多处理库中,是否有pool.map的变体支持多个参数? text ="test" def harvester(text, case): X = case[0] tex ...
- python子进程关闭fd_如果创建了multiprocessing.Pool,Python子进程wait()将失败
在一个使用subprocess到gzip输出的简单脚本中(使用subprocess.PIPE到外部命令的stdin),如果在创建子进程和关闭进程的stdin之间创建了multiprocessing.P ...
- python process pool_python multiprocessing.Process,multiprocessing.Pool区别(不同之处)
我们知道GIL Lock禁用了Python中的多线程功能.在Python中multiprocessing提供了两个用于多进程的类,即Process和Pool类.在以下各节中,我已对使用pool和pro ...
- python 多进程 调用模块内函数_Python进程池multiprocessing.Pool的用法
一.multiprocessing模块 multiprocessing模块提供了一个Process类来代表一个进程对象,multiprocessing模块像线程一样管理进程,这个是multiproce ...
- python processpoolexector 释放内存_使用Python的multiprocessing.pool,内存使用量不断增长...
这是程序: #!/usr/bin/python import multiprocessing def dummy_func(r): pass def worker(): pass if __name_ ...
- python进程池:multiprocessing.pool
阅读目录 例1:使用进程池 例2:使用进程池(阻塞) 例3:使用进程池,并关注结果 例4:使用多个进程池 在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操 ...
- Python 进程池 multiprocessing.Pool - Python零基础入门教程
目录 一.Python 进程池 multiprocessing.Pool 介绍 二.Python 进程池 multiprocessing.Pool 使用 三.猜你喜欢 零基础 Python 学习路线推 ...
- 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 ...
- Python 多进程 multiprocessing.Pool类详解
multiprocessing模块 multiprocessing包是Python中的多进程管理包.它与 threading.Thread类似,可以利用multiprocessing.Process对 ...
最新文章
- Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明
- Altium designer原理图库中元件变动后在原理图中同步更新方法
- Oracle入门(十四.11)之使用显式游标属性
- matlab 实验5,MATLAB实验5报告.doc
- Apsara Stack 技术百科 | 可运营的行业云,让云上资源跑起来
- linux shell 命令执行结果,如何通过程序执行shell命令并获取命令执行结果?
- 如何使用JMeter来实现更大批量的并发的解决方案(即如何设置controller和Agent)
- Android Sqlite 数据库版本更新
- Flutter TextField 文本输入框的基本属性及详解
- 迅捷新版PDF转换器
- python计算权重_python 计算权重的代码
- Activity启动流程(二)system_server进程处理启动Activity请求
- shape from shading
- 最短路径——DFS、Dijkstra、Floyd、Bellman-Ford、spfa
- 向量线性无关和正交及其关系
- Python 基于积分原理计算定积分并可视化数值积分计算的动画过程
- x must be 1d
- MRI数据预处理--使用FSL-BET轻松去头骨,提取脑组织
- HTTP概念协议报文结构请求响应数据报分析
- 亚马逊发多款新品:智能眼镜来了 没摄像头支持语音
热门文章
- vs.net c# 安装、注册windows service服务,判断服务是否存在,是否启动
- 用C#实现MD5算法
- 9-算法 希尔排序 shell_sort
- python 获取浏览器句柄下的网页控件_python webdriver操作浏览器句柄
- 07:有趣的跳跃【一维数组】
- Python操作Word文档的节属性和页眉/页脚
- Python绘制匀加速运动质点的速度-时间图像与位移-时间图像
- 一维序列卷积之Python实现
- java报错信息怎么看_AE-E3D插件无效或提示OPENGL E3D Debug等错误报错信息怎么办?...
- scp瓶中船是什么梗_早安打工人是什么梗?