# -*- coding: utf-8 -*- ''' apply 线程池中的线程串行执行 apply_async 线程池中的线程并行执行 ''' from multiprocessing import Process,Pool import time,os def foo(i): time.sleep(2) print("in process ",os.getpid()) return i+100 def Bar(arg): print('execute done:',arg) if __name__ == '__main__': #进程池中进程的最多个数 pool = Pool(5) for i in range(10): #callback 是回调函数 , 当foo 执行完成之后,在执行回调函数 pool.apply_async(func=foo,args=(i,),callback=Bar) # pool.apply(func=foo,args=(i,)) print('end') pool.close() #进程池中进程执行完毕后在关闭,如果注释,那么程序直接关闭 pool.join()