说明

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都网站设计、金昌网络推广、重庆小程序开发、金昌网络营销、金昌企业策划、金昌品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供金昌建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
1、初始化Pool时,可以指定流程数。
2、当新请求提交到Pool时,如果池未满,则创建新流程以执行该请求。
3、如果池中的流程数达到指定的值,则等待该请求,直到池中的流程结束为止,以之前的流程执行新的任务。
实例
# -*- coding:utf-8 -*-
import os, time, random
from multiprocessing import Pool
def worker(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))
def main():
po = Pool(3) # 定义一个进程池,进程数3
for i in range(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电脑。