- 为什么有进程池的概念
- 效率问题
- 每次开启进程,都需要开启属于这个进程的内存空间
- 寄存器,堆栈
- 进程过多,操作系统的调度
- 进程池
- python中的 先创建一个属于进程的池子
- 这个池子指定能存放多少进程
- 先将这些进程创建好
- 更高级的进程池
- 3,20
- 默认启动3个进程
- 处理能力不够的时候,加进程
- 最多20个
- python中没有
from multiprocessing import Pool,Process
import time
#Process就无需使用了
def func(n):
for i in range(10):
print(n+1)
#下面这段比较进程池和多进程所需时间的不同
if __name__ == '__main__':
start = time.time()
pool = Pool(5) #启动5个进程
pool.map(func, range(100)) #range处必须是可迭代的参数,100个任务
t1 = time.time()-start
start = time.time()
p_lst = []
for i in range(100):
p = Process(target=func, args=(i, ))
p_lst.append(p)
p.start()
for p in p_lst: p.join()
t2 = time.time()-start
print(t1,t2)
原文地址:https://www.cnblogs.com/konglinqingfeng/p/9699265.html
时间: 2024-10-09 06:08:22