# -*- coding: utf-8 -*-
import time,random
from multiprocessing import Pool
def worker(msg):
t_start = time.time()
print("---%s开始执行---" % msg)
# random.random()随机生成0-1之间的浮点数
time.sleep(random.random())
t_stop = time.time()
print(msg,"执行完毕,耗时 %0.2f" % (t_stop-t_start))
# 创建一个进程池,最大进程数是 3
po = Pool(3)
for i in range(0,10):
# Pool().apply_async(要调用的目标(不是调用),(传给目标的参数元祖))
# 每次循环将会用空闲的子进程去调用目标
po.apply_async(worker,(i,))
print("----start----")
po.close() # 关闭进程池,关闭后po不在接收新的请求
po.join() # 主进程 等待所有的 po子进程 执行完毕,必须放在close()之后
print('----end----')
02-5多进程-进程池
最新推荐文章于 2020-05-07 23:18:34 发布