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

python_并发编程——进程池

时间:2019-12-23 20:57:47      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:图片   join   process   pen   __name__   ESS   func   get   art   

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_并发编程——进程池

标签:图片   join   process   pen   __name__   ESS   func   get   art   

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

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