1 from multiprocessing import Pool,Process 2 import time,os 3 def Foo(a):#创建函数 4 time.sleep(2) 5 print('in the process:',os.getpid(),os.getppid()) 6 return a+100 7 8 def bar(arga):#创建函数 9 print('---->',arga) 10 if __name__ == '__main__': 11 print('父进程ID:',os.getpid()) 12 pool = Pool(2)#创建进程池最大容量为2,最多允许2个进程同时运行,参照线程信号量模式 13 for i in range(10):#创建10个进程 14 pool.apply_async(func=Foo,args=(i,),callback=bar)#创建线程,参数1调用函数,参数2设置i为函数FOO参数,参数3为返回函数 15 #参数三为回调函数,将FOO函数的返回值作为参数调用bar函数。 16 #pool.apply(func=Foo,args=(i,),callback=bar)#串行 17 #pool.apply_async(func=Foo,args=(i,),callback=bar)#并行 18 19 pool.close()#关闭 20 #pool.join()#如果没有.join语句,程序不执行就会关闭。这里是个大坑。
from multiprocessing import Pool,Process
import time,os
def Foo(a):#创建函数
time.sleep(2)
print('in the process:',os.getpid(),os.getppid())
return a+100
def bar(arga):#创建函数
print('---->',arga)
if __name__ == '__main__':
print('父进程ID:',os.getpid())
pool = Pool(2)#创建进程池最大容量为2,最多允许2个进程同时运行,参照线程信号量模式
for i in range(10):#创建10个进程
pool.apply_async(func=Foo,args=(i,),callback=bar)#创建线程,参数1调用函数,参数2设置i为函数FOO参数,参数3为返回函数
#参数三为回调函数,将FOO函数的返回值作为参数调用bar函数。
#pool.apply(func=Foo,args=(i,),callback=bar)#串行
#pool.apply_async(func=Foo,args=(i,),callback=bar)#并行
pool.close()#关闭
#pool.join()#如果没有.join语句,程序不执行就会关闭。
本博2017年4月开始自学,到20年2月已自学3年,不仅仅python,目前已经全栈WEB开发,全自动A股交易,深度学习也初步涉猎,这句话改于2020年2月16日。计划学习10年,40岁学成精英,如若不到,继续学习,终身保持学习状态。30岁之前看不惯社会天天抱怨,30岁突然醒悟,错全在自己身上,跟社会没有任何关系,故开始随时保持学习状态,向梦想冲刺。