首页 > 编程语言 > 详细

python_并发编程——进程池

时间:2019-12-23 20:41:10      阅读:81      评论:0      收藏:0      [点我收藏+]

1.进程池

from multiprocessing import Pool

def func(n):
    for i in range(10):
        print(n+1)

if __name__ == __main__:
    pool = Pool(3)  #启动有三个进程的进程池。
    #第一个参数进程要访问的代码,第二个参数必须是一个可迭代参数,规定了要执行的任务数
    pool.map(func,range(100))   #100个任务

结果:技术分享图片  每个数打印了10次。

 

2.进程池和多进程的用时对比

def func(n):
    for i in range(10):
        print(n + 1)

if __name__ == __main__:
    start = time.time()
    pool = Pool(3)  #启动有三个进程的进程池。
    #第一个参数进程要访问的代码,第二个参数必须是一个可迭代参数,规定了要执行的任务数
    pool.map(func,range(100))   #100个任务
    t1 = time.time() - start

    start = time.time()
    p_list = []
    for i in range(100):
        p = Process(target=func,args=(i,))
        p_list.append(p)
        p.start()
    for p in p_list:
        p.join()
    t2 = time.time() - start
    print(t1,t2)

结果:技术分享图片  进程池的用0.9,而多进程的用了17+

python_并发编程——进程池

原文:https://www.cnblogs.com/wangdianchao/p/12088172.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!