• 技术文章 >Python技术 >Python基础教程

    python中进程池Pool的初始化

    小妮浅浅小妮浅浅2021-07-23 09:48:17原创2816

    说明

    1、初始化Pool时,可以指定流程数。

    2、当新请求提交到Pool时,如果池未满,则创建新流程以执行该请求。

    3、如果池中的流程数达到指定的值,则等待该请求,直到池中的流程结束为止,以之前的流程执行新的任务。

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    # -*- 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电脑。

    专题推荐:python 进程池
    上一篇:python中Queue如何通信 下一篇:python Pool常用函数有哪些

    相关文章推荐

    • Python中的进程池是什么• python进程池中apply如何使用?• python进程池的使用注意

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网