码迷,mamicode.com
首页 > 编程语言 > 详细

Python并发编程-进程池

时间:2018-09-25 14:38:52      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:time()   proc   比较   python   n+1   任务   []   进程创建   为什么   

  • 为什么有进程池的概念
    • 效率问题
    • 每次开启进程,都需要开启属于这个进程的内存空间
    • 寄存器,堆栈
    • 进程过多,操作系统的调度
  • 进程池
    • python中的 先创建一个属于进程的池子
    • 这个池子指定能存放多少进程
    • 先将这些进程创建好
  • 更高级的进程池
    • 3,20
    • 默认启动3个进程
    • 处理能力不够的时候,加进程
    • 最多20个
    • python中没有
from multiprocessing import Pool,Process
import time
#Process就无需使用了

def func(n):
    for i in range(10):
        print(n+1)
#下面这段比较进程池和多进程所需时间的不同
if __name__ == '__main__':
    start = time.time()
    pool = Pool(5)             #启动5个进程
    pool.map(func, range(100)) #range处必须是可迭代的参数,100个任务
    t1 = time.time()-start
    start = time.time()
    p_lst = []
    for i in range(100):
        p = Process(target=func, args=(i, ))
        p_lst.append(p)
        p.start()
    for p in p_lst: p.join()
    t2 = time.time()-start
    print(t1,t2)

Python并发编程-进程池

标签:time()   proc   比较   python   n+1   任务   []   进程创建   为什么   

原文地址:https://www.cnblogs.com/konglinqingfeng/p/9699265.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!