目录
一、python进程池二、进程池如何使用?申请()apply_async地图()map_async()close()终端()加入()三、代码实列四、进程池中的进程和一般的进程有什么区别?前言:
创建进程池可以形象地理解为创建一个并行的流水线,只需创建一次流水线的消耗,处理接收到的任务的,不使用进程池。 ,浪费时间。
中方本来没有进程的,除了python
的,使用线程池的语言,是进程的其他线程池(而进程是执行业务的其他任务)。python的原因(因为Cython的概念),线程编程不同的并行,把线程池的概念转移到了进程中,命名为进程池。
一、python进程池
创建的子进程数量不多时,可以直接利用多处理进程中的进程动态形成需要的进程。
如果是上百量甚至巨大上千,手动的去创建进程的工作目标,此时就可以为多进程模块提供池的方法。
1、初始化 Pool
时,可以指定一个进程数
2、当有新的请求提交到 Pool 中时
如果池还没有满,那么就用创建一个新进程的执行该请求;如果池中的进程达到指定的任务,那么已经有多少时间,直到有进程结束,会用之前的请求进程来执行新的任务。二、进程池如何使用?
申请()
函数原型:apply (func, args=()[, kwds={}]])
该函数传递不定参数,同 python 中的应用函数一致,主进程会被阻止函数执行结束(不建议使用,并且 3.x 以后不再出现使用)
apply_async
函数原型:apply_async(func[, args=()[, kwds={}[, callback=None]]])
与应用一致,但它是非进行不支持的使用支持结果返回后反对
地图()
函数原型:map(func, iterable[, chunksize=None])
池类中的映射表的行为必须基本一致,它会使用第二个进程与先前的结果返回:
但在实际使用中,参数是一个调用,在整个应用程序中都需要注意,程序会运行子进程。
map_async()
函数原型:map_async(func, iterable[, chunksize[, callback]])
与地图匹配一致,但它是非阻尼的。
close()
关闭进程池(pool
),不再接受新的任务。
终端()
结束工作进程,不再处理未处理的任务。
加入()
主进程停止等待子进程的退出,加入方法要在关闭或终止使用之后。
三、代码实列
# 导入相关multiprocessing包 import multiprocessing # 创建拥有CPU核心数量的进程的进程池 pool = multiprocessing.Pool(processes=multiprocessing.cpu_count()) for i in range ( 100 ): ##制动等待当前任务的进程结束# pool.apply(func=pow, args=(i,2)) # 不延迟当前任务的进程结束 pool.apply_async(func= pow , args=(i, 2 )) # # map函数到一个列表,延迟返回值 # results = pool.map(func=print, iterable=[i for i in range(10000)]) # # 不延迟等待返回值,未运行完就调用results会报错。 # results = poolmap_async(func=print, iterable=[i for i in range(10000)]) #close之后不会有新的进程加入到pool pool.close() #加入函数等待所有子进程#调用加入之前,先结束调用close函数,否则会出错。 pool.join() # # 结束工作进程,不再处理未完成的任务。 # pool.terminate()
四、进程池中的进程和一般的进程有什么区别?
进程池中的Queue:
如果要使用进程池创建进程,就需要使用multiprocessing.Manager()
中的Queue()
,而不是multiprocessing.Queue()
。使用的方法是一样的,都已经成功了,再用q.put()添加、q.get()等待获取。
到此这篇关于Python进程池基本概念的文章就介绍到这了,更多相关Python进程池内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?