python中进程池Pool的初始化

  • 更新时间:2021-07-21 09:34:26
  • 编辑:邰齐心
本站精选了一篇相关的编程文章,网友步宏爽根据主题投稿了本篇教程内容,涉及到Python相关内容,已被276网友关注,涉猎到的知识点内容可以在下方电子书获得。

参考资料

正文内容

给大家整理一篇不错的python文章,代码整理的很实用,重新排版了一下发到这里,为了方便大家的阅读。

python中进程池Pool的初始化

1、说明

初始化Pool时,可以指定最大流程数。当新请求提交到Pool时,如果池未满,则创建新流程以执行该请求。但是,如果池中的流程数达到指定的最大值,则等待该请求,直到池中的流程结束为止,以之前的流程执行新的任务。

2、实例

# -*- 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学习网

相关教程

  • python如何提升爬虫效率

    这篇文章主要介绍了python如何提升爬虫效率,帮助大家更好的理解和使用python 爬虫,感兴趣的朋友可以参考下

    发布时间:2021-05-02

  • Python关键字之global与nonlocal

    这篇文章主要为大家详细介绍了Python关键字之global与nonlocal,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

    发布时间:2019-07-23

用户留言