Python--day39--进程池原理及效率测试
作者:互联网
#为什么要有进程池的概念
#效率
#每次开启进程都要创建一个属于这个进程的内存空间
#寄存器 堆栈 文件
#进程过多 操作系统调度进程
#
#进程池
#python中的 先创建一个属于进程的池子
#这个池子指定能存放多少个进程
#先将这些进程创建好
#更高级的进程池
#n,m
#3 三个进程
# +进程
#20 20个进程
#超过了五个进程就要用进程池,不要再用子进程了,进程池的效率高
#输入输出都非常影响效率
进程池效率测试:
1 import time 2 from multiprocessing import Pool,Process 3 def func(n): 4 for i in range(10): 5 print(n+1) 6 7 8 9 if __name__ == '__main__': 10 start = time.time() 11 #进程池的代码就三行,执行的时间为t1 12 pool = Pool(5) #5个进程 13 pool.map(func,range(100)) #100个任务 14 t1 = time.time() - start 15 #多进程的代码多,执行时间为t2,运行结果表明进程池的效率远远大于多进程 16 start = time.time() 17 p_lst = [] 18 for i in range(100): 19 p = Process(target=func,args=(i,)) 20 p_lst.append(p) 21 p.start() 22 for p in p_lst:p.join() 23 t2 = time.time() -start 24 print(t1,t2)
运行结果:
标签:__,20,day39,Python,start,lst,测试,time,进程 来源: https://www.cnblogs.com/xudj/p/10337723.html