首页 > 系统服务 > 详细

Pool进程池

时间:2021-07-06 18:16:15      阅读:19      评论:0      收藏:0      [点我收藏+]

进程池与Process区别, 主进程不会等着进程池结束才结束,但是process创建子进程,

进程池避免了重复创建进程的过程

from multiprocessing import Pool
import time
import os


def work1():
for i in range(4):
print("-----work1=%d-----"%i)

def work(num):
for i in range(4):
print("===pid=%d==num=%d"%(os.getpid(), num))


if __name__ == "__main__":
#表示进程池中对多有三个进程一起执行
pool =Pool(3)

for i in range(5):
print("----%d----"%i)
#向进程池添加任务
#如果添加的任务数量超过了 进程池中的个数的话,那么不会导致添加不进入
#添加到进程的任务 如果还没有被执行的话 那么此时 他们会等待进程池中的进程完成一个任务之后, 会自动的去用刚刚的那个进程 完成当前的新任务
pool.apply_async(work,(i,))
pool.apply_async(work1)
print("----%d----" % i)

pool.close()# 关闭进程池 相当于 不能够添加新任务了
pool.join()#如果没有join(), 会导致进程池中的任务不会执行

Pool进程池

原文:https://www.cnblogs.com/shamoguzhou/p/14977794.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!