爬虫初学:06进程池的概念

from multiprocessing import Pool
import time,random

def worker(msg):
    t_start=time.time()
    print('%s---开始执行'%(msg))
    time.sleep(random.random())    #模拟工作所需要的时间
    t_end=time.time()
    print('%s---执行完毕,消耗时间为%.2f s'%(msg,t_end-t_start))
    

if __name__ == '__main__':
    p= Pool(3)                   #创建一个容量为3的进程池
    for i in range(10):
        #将进程添加到进程池
        #格式:进程池.apply_async(func=单个进程要调用的函数
        p.apply_async(func=worker,args=(i,))
    #关闭进程池,关闭后进程池将不再接受新的任务
    p.close()

    #等待进程池中的所有子进程都结束后,注意:join
    p.join()

猜你喜欢

转载自blog.csdn.net/yuanzhen1/article/details/88427161