zoukankan      html  css  js  c++  java
  • Python使用进程池

    由于进程启动的开销比较大,使用多进程的时候会导致大量内存空间被消耗。为了防止这种情况发生可以使用进程池

    进程池中常用方法:
    apply() 同步执行(串行) python3已经没有了
    apply_async() 异步执行(并行)
    terminate() 立刻关闭进程池
    join() 主进程等待所有子进程执行完毕。必须在close或terminate()之后。
    close() 等待所有进程结束后,才关闭进程池。
     例子:
    import os
    import time
    from multiprocessing import Pool
    
    def func(n):
        print('start func%s'%n,os.getpid())
        time.sleep(1)
        print('end func%s'%n, os.getpid())
    
    
    if __name__ == '__main__':
        p = Pool(4)
        for i in range(10):
            p.apply_async(func,args=(i,))
        p.close()   #结束进程池接收任务
        p.join()    #感知进程池中任务执行结束
    

      

  • 相关阅读:
    Caesar cipher
    遗传算法之背包问题
    Transport scheme NOT recognized: [stomp]
    error running git
    Canvas 旋转的图片
    canvas时钟
    火箭起飞
    让图标转起来
    Tomcat启动脚本
    Task中的异常处理
  • 原文地址:https://www.cnblogs.com/lucktomato/p/15207056.html
Copyright © 2011-2022 走看看