进程池(Pool)

进程池用于进程维护, 当使用时,将会去进程池取数据   

from multiprocessing import Pool, Process
import os, time

def f(i):
time.sleep(2)
print('in process', os.getpid()) #os.getpid()获得进程序列号
return i+100

def Bar(arg):
print('exec done--', arg, os.getpid())


if __name__ == '__main__':
pool = Pool(5) #最多放入5个进程

for i in range(10):
pool.apply_async(func=f, args=(i,), callback=Bar) # callback回调函数, 子进程结束时,是否还做其他的事, apply_async是并行 和 apply是串行


print('end')
pool.close()
pool.join() #进程池中程序结束时,关闭进程池,忽略程序直接结束, 不能与join()变换位置
原文地址:https://www.cnblogs.com/my-love-is-python/p/9164558.html