进程池

进程池:进程池内部存在一个序列,当使用时,到进程池中调用进程,当进程池中无进程可用时,程序就会等待

import multiprocessing
import os,time

def foo(i):
    time.sleep(1)
    print(i)
    return i+100

def bar(arg):
    print("logger:",arg)


if __name__ == '__main__':
    pool = multiprocessing.Pool(5)    #设置进程池里最多能放多少个进程

    for i in range(100):
        # pool.apply(func=foo,args=(i,))     #apply同步接口
        pool.apply_async(func=foo,args=(i,),callback=bar)   #apply_async异步接口
        #callback,回调函数,执行某个动作之后立即执行的操作

    pool.close()
    pool.join()     #使用进程池,close和join是必须存在的,且顺序是固定的

 

posted @ 2019-06-12 23:45  saber゛  Views(222)  Comments(0Edit  收藏  举报