05进程池的使用
from multiprocessing import Process, Pool
import time, os
def fun(n):
time.sleep(1)
print("当前的进程:", os.getpid())
n += 1000
def bar(args):
print("回调函数,使用的主进程进行调用", os.getpid())
# 在window中需要写下面这一句
if __name__ == "__main__":
# 实例化一个进程池
pool = Pool(5)
for i in range(10):
# 使用进程池中的进程进行函数的调用
# pool.apply(func=fun, args=(i,))#当使用apply方法的时候程序是串行
pool.apply_async(func=fun, args=(i,), callback=bar)
print("这个是主进程end")
print("主进程id", os.getpid())
# 需要先关闭进程池,再调用join()等待进程任务完成才结束程序
pool.close()
pool.join()
浙公网安备 33010602011771号