多进程-Pool进程池
from multiprocessing import Pool import os,time def Foo(i): time.sleep(2) print("in process",os.getpid()) return i +100 def Bar(arg): print('-->exec done',arg,os.getpid()) if __name__ == "__main__": pool =Pool(2)#允许进程池同时放入5个 print("主进程",os.getpid()) for i in range(10): pool.apply_async(func=Foo,args=(i,),callback=Bar)#callback回调执行完func才会执行callback,callback是主进程执行的,作用是连接一次,而子进程需要每次都需要重新连接 #pool.apply()串行 pool.apply_async()并行 print("end") pool.close() pool.join()#进程池中进程执行完毕后在关闭,如果注释,那么程序直接关闭