#实现进程池功能
from multiprocessing import Pool
from time import sleep,ctime
def worker(msg):
sleep(2)
print(msg)
#创建进程池
pool = Pool(processes = 4)
for i in range(10):
msg = 'hello {}'.format(i)
#将事件放入进程池队列,等待执行
pool.apply_async(func = worker,args = (msg,))
#关闭进程池
pool.close()
#进程池回收
pool.join()
pool.map函数的演示
#演示进程池的pool函数
from multiprocessing import Pool
import time
def fun(n):
time.sleep(1)
print('执行pool map 事件')
return n*n
pool = Pool(4)
#使用map函数将时间放入进程池
r = pool.map(fun,range(10))
pool.close()
pool.join()
print(r) # 打印出map函数的所有执行结果的列表