python进程池
from multiprocessing import Pool
#导入模块
import time,random
#导入时间模块
def worker(msg):
t_start=time.time()
print(’%s–开始执行’%(msg))
time.sleep(random.random())#模拟工作所消耗的时间
t_end=time.time()
print('%s--执行完毕,消耗时间为%0.2f'%(msg,t_end-t_start))
if name == ‘main’:
p=Pool(3)
for i in range(10):
#将进程添加到进程池
#格式:进程池。apply_async(func=单个进程要调用的目标,args=(参数1,参数2,…)
#每次循环将会用空闲的子进程去调用目标
p.apply_async(func=worker,args=(i,))
print(’----------start--------’)
#关闭进程池,关闭后进程池将不再接受新的任务
p.close()
#等待进程池中所有的子进程都结束后,注意;join 一定要放在close后面.
p.join()