python中进程池Pool的初始化

2025-12-01 0 85,128

说明

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.2fn" % (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电脑。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 python基础 python中进程池Pool的初始化 https://www.zhiup.top/1672.html

相关