from multiprocessing import Pool#pool池pool#从多重进程中导入进程池
import time,random#导入随机类,时间类
def worker(msg):
t_start = time.time()
print(’%s–开始执行’%(msg))
time.sleep(random.random())#模拟进程运行时间#生成随机小数不必须传参#默认生成0-1之间的小数(小数点后两位)
t_end = time.time()
print(’%s–执行完毕,消耗时间为:%0.2f’%(msg,t_end-t_start))
if name == ‘main’:
p = Pool(3)#创建一个容量是3的进程池
for i in range(10):
#将进程添加到进程池,
# 格式:进程池.apply_async(func=单个进程要调用的目标,args=(参数1,参数2…))
#每次循环将会用空闲的子进程去调用目标
p.apply_async(func=worker,args=(i,))#异步操作(并行操作)
p.apply_async(func=worker,args=(i,))#异步操作(并行操作)
print(’-----------start----------’)
#关闭进程池,关闭后进程池将不再接收新的任务
p.close()
#等待进程池中的所有子进程都结束后,注意:join一定要放在close后面。
p.join()#阻塞进程等待上个进程执行完在继续运行
print(’------------end----------’)
python进程池
最新推荐文章于 2022-03-06 10:15:00 发布