Python--day39--进程池原理及效率测试
#为什么要有进程池的概念
#效率
#每次开启进程都要创建一个属于这个进程的内存空间
#寄存器 堆栈 文件
#进程过多 操作系统调度进程
#
#进程池
#python中的 先创建一个属于进程的池子
#这个池子指定能存放多少个进程
#先将这些进程创建好
#更高级的进程池
#n,m
#3 三个进程
# +进程
#20 20个进程
#超过了五个进程就要用进程池,不要再用子进程了,进程池的效率高
#输入输出都非常影响效率
进程池效率测试:
import time
from multiprocessing import Pool,Process
def func(n):
for i in range(10):
print(n+1) if __name__ == '__main__':
start = time.time()
#进程池的代码就三行,执行的时间为t1
pool = Pool(5) #5个进程
pool.map(func,range(100)) #100个任务
t1 = time.time() - start
#多进程的代码多,执行时间为t2,运行结果表明进程池的效率远远大于多进程
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)
运行结果:

Python--day39--进程池原理及效率测试的更多相关文章
- 进程池原理及效率测试Pool
为什么会有进程池的概念? 当我们开启50个进程让他们都将100这个数减1次减到50,你会发现特别慢! 效率问题,原因: 1,开辟内存空间.因为每开启一个进程,都会开启一个属于这个进程池的内存空间,因为 ...
- python之进程池与线程池
一.进程池与线程池介绍 池子使用来限制并发的任务数目,限制我们的计算机在一个自己可承受的范围内去并发地执行任务 当并发的任务数远远超过了计算机的承受能力时,即无法一次性开启过多的进程数或线程数时就应该 ...
- Python 37 进程池与线程池 、 协程
一:进程池与线程池 提交任务的两种方式: 1.同步调用:提交完一个任务之后,就在原地等待,等任务完完整整地运行完毕拿到结果后,再执行下一行代码,会导致任务是串行执行 2.异步调用:提交完一个任务之后, ...
- python 36 进程池、线程池
目录 1. 死锁与递归锁 2. 信号量Semaphor 3. GIL全局解释器锁:(Cpython) 4. IO.计算密集型对比 4.1 计算密集型: 4.2 IO密集型 5. GIL与Lock锁的区 ...
- python中进程池和回调函数
一.数据共享 1.进程间的通信应该尽量避免共享数据的方式 2.进程间的数据是独立的,可以借助队列或管道实现通信,二者都是基于消息传递的. 虽然进程间数据独立,但可以用过Manager实现数据共享,事实 ...
- Python-进程-进程池-原理
进程 资源集合,调度和分配资源,说到进程就不得不提到线程,线程和进程是密不可分,进程申请了资源,但真正使用资源的是线程,其实本质上类似面向对象的思想,面向对象把数据和数据的操作封装在一个类中,进程把资 ...
- python中进程池的应用
#原创,转载请联系 假设我们写的一个程序需要运行100个子进程的时候,那么写程序时,不可能循环创建销毁100个进程吧?进程的创建与销毁是很耗系统的资源的. 进程池的作用就体现出来了. 进程池可以控制进 ...
- python使用进程池多进程时,如何打印错误信息
一.说明 1.python进程池进行多进程运行时,如果有错误,该进程会直接跳过,并且不会打印错误信息. 2.如果需要了解到进程内的错误信息,此时就需要通过捕获异常来输出错误信息了. 二.具体方法如下: ...
- Python 多进程进程池Queue进程通信
from multiprocessing import Pool,Manager import time def hanshu(queue,a): n = 1 while n<50: # pri ...
随机推荐
- 人物-旅行-潘德明-Info:《近代中国徒步环游世界第一人:潘德明 》
ylbtech-人物-旅行-潘德明-Info:<近代中国徒步环游世界第一人:潘德明 > 1.返回顶部 1. 近代中国徒步环游世界第一人:潘德明 2016-10-12 18:01 “以世界为 ...
- JavaCollection
http://blog.csdn.net/itlwc/article/details/10148321 http://blog.sina.com.cn/s/blog_6d6f5d7d0100s9nu. ...
- 使用HashMap编写一程序实现存储某班级学生信息
1. 使用HashMap编写一程序实现存储某班级学生信息,要求在屏幕上打印如下列表 学号 姓名 性别 年龄 001 张三 男 23 002 李四 男 ...
- Mybatis中example类的使用
要使用example类,先要在项目中导入mybatis.mapper的jar包. Mapper接口中包含了单表的增删改查以及分页功能. 给出实例: CountryMappermapper = sqlS ...
- iOS 开发该选择Blocks还是Delegates
http://www.cocoachina.com/ios/20150925/13525.html 前文:网络上找了很多关于delegation和block的使用场景,发现没有很满意的解释,后来无意中 ...
- python 数据分析领域常用的包
- 从url输入网址后发生什么
从url输入网址后发生什么
- IIS 设置 FTP 服务器 添加多个账户
我们有很多童鞋经常开不动IIS自带的FTP如何创建,就算创建了也不会实现多用户,下面我来分享一下我的经验吧: 使用 IIS 设置 FTP 服务器 依次单击“开始”按钮.“控制面板”和“添加或删除程序” ...
- 从程序员的角度分析微信小程序
昨天朋友圈被微信小程序刷爆了. 我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊. 作为一个并不是资深的程序员. 从程序员的角度分析一下微信小程序,欢迎指点. 首先吐槽 微信小程序只发了200 ...
- POJ 2632 Crashing Robots (模拟 坐标调整)(fflush导致RE)
题目链接:http://poj.org/problem?id=2632 先话说昨天顺利1Y之后,直到今天下午才再出题 TAT,真是刷题计划深似海,从此AC是路人- - 本来2632是道略微恶心点的模拟 ...