标签:异步 数据 art imp end main == map 自带
import time
from multiprocessing import Process,Pool
# def f1(n):
# time.sleep(1)
# print(n)
#对比多进程和进程池的效率
def f1(n):
for i in range(5):
n = n + i
if __name__ == ‘__main__‘:
#统计进程池执行100个任务的时间
s_time = time.time()
pool = Pool(4) #里面这个参数是指定进程池中有多少个进程用的,4表示4个进程,如果不传参数,默认开启的进程数一般是cpu的个数
# pool.map(f1,[1,2]) #参数数据必须是可迭代的
pool.map(f1,range(100)) #参数数据必须是可迭代的,异步提交任务,自带join功能
e_time = time.time()
dif_time = e_time - s_time
#统计100个进程,来执行100个任务的执行时间
p_s_t = time.time() #多进程起始时间
p_list = []
for i in range(100):
p = Process(target=f1,args=(i,))
p.start()
p_list.append(p)
# p.join()
[pp.join() for pp in p_list]
p_e_t = time.time()
p_dif_t = p_e_t - p_s_t
print(‘进程池的时间:‘,dif_time)
print(‘多进程的执行时间:‘,p_dif_t)
# 结果:
# 进程池的时间: 0.40102291107177734
# 多进程的执行时间: 9.247529029846191
标签:异步 数据 art imp end main == map 自带
原文地址:https://www.cnblogs.com/work14/p/10267078.html