Python并发编程—进程池,,进程池实现1.必要性
Python并发编程—进程池,,进程池实现1.必要性
进程池实现
1.必要性
【1】 进程的创建和销毁过程消耗的资源较多
【2】 当任务量众多,每个任务在很短时间内完成时,需要频繁的创建和销毁进程。此时对计算机压力较大
【3】 进程池技术很好的解决了以上问题。
2.原理
创建一定数量的进程来处理事件,事件处理完进程不退出而是继续处理其他事件,直到所有事件全都处理完毕统一销毁。增加进程的重复利用,降低资源消耗。
3.进程池实现
【1】 创建进程池对象,放入适当的进程
from multiprocessing import Pool
Pool(processes)
功能: 创建进程池对象参数: 指定进程数量,默认根据系统自动判定【2】 将事件加入进程池队列执行
pool.apply_async(func,args,kwds)
功能: 使用进程池执行 func事件参数: func 事件函数 args 元组 给func按位置传参 kwds 字典 给func按照键值传参返回值: 返回函数事件对象【3】 关闭进程池
pool.close()
功能: 关闭进程池【4】 回收进程池中进程
pool.join()
功能: 回收进程池中进程1 from multiprocessing import Pool 2 from time import sleep,ctime 3 4 # 进程池事件 5 def worker(msg): 6 sleep(2) 7 print(msg) 8 return ctime() 9 10 # 创建进程池11 pool = Pool(4)12 13 # 向进程池添加执行事件14 for i in range(10):15 msg = "Hello %d"%i16 17 # r 代表func事件的一个对象18 r = pool.apply_async(func=worker,args=(msg,))19 20 # 关闭进程池21 pool.close()22 23 # 回收进程池24 pool.join()25 26 print(r.get()) # 可以获取事件函数的返回值进程池使用演示
Python并发编程—进程池
相关内容
- 41、python基础学习-re模块,,就其本质而言,正则表
- python基础--内置函数map,python--函数map,num_1=[1,2
- python编程-分桃子,,
- python学习-rabbitMQ篇,,一、简介 Rabbi
- Python生成可执行文件,,1、图标网:easy
- Python分词、情感分析工具——SnowNLP,pythonsnownlp,本文内
- Python中文件读写,Python文件读写, 2019-06-0
- python中的高阶函数,python高阶函数,1.高阶函数-实参是
- Python之while循环,,一、使用while循
- python 获取复数的实部虚部,,#Initializ
评论关闭