python中进程池Pool的初始化
发布时间:2024-07-30 10:05:10

说明
1、当Pool初始化时,可以指定流程数。
2、当新请求提交到Pool时,如果池未满,则创建新流程执行该请求。
3、如果池中的流程数达到指定值,则等待要求,直到池中的流程结束,以前的流程执行新的任务。
实例
#-*-coding:utf-8-*-
importos,time,random
frommultiprocessingimportPool
defworker(msg):
t_start=time.time()
print("%s开始执行,过程号为%d"%(msg,os.getpid()))
#random.random()在0~1之间随机生成浮点数
time.sleep(random.random()*2)
t_stop=time.time()
print(msg,"执行完毕,耗时%0.2f\n"%(t_stop-t_start))
defmain():
po=Pool(3)#定义一个进程池,进程数为3
foriinrange(0,10):
#Pool().apply_async(要调用的目标,(传递给目标参数元祖,))
#每个循环都将使用空闲的子过程来调用目标
po.apply_async(worker,(i,))
print("----start----")
po.close()#关闭进程池,PO关闭后不会收到新的请求
po.join()#等待po中所有子过程的完成,Close语句后必须放置
print("-----end-----")
if__name__=="__main__":
main()以上是Python中进程池Pool的初始化,希望对大家有所帮助。学习更多的编程基础知识:python学习网
本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。
下一篇 python中Queue如何通信
