Python并发编程-进程池

Posted 空林~~清风~~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python并发编程-进程池相关的知识,希望对你有一定的参考价值。

  • 为什么有进程池的概念
    • 效率问题
    • 每次开启进程,都需要开启属于这个进程的内存空间
    • 寄存器,堆栈
    • 进程过多,操作系统的调度
  • 进程池
    • 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并发编程-进程池的主要内容,如果未能解决你的问题,请参考以下文章

Python并发编程-进程池

2020Python修炼记python并发编程补充—进程池和线程池

python并发编程之进程池,线程池concurrent.futures

python并发编程之进程池,线程池

Python并发编程—进程池

python 之 并发编程(进程池与线程池同步异步阻塞非阻塞线程queue)