学习
实践
活动
专区
工具
TVP
写文章

使用协程程序来提高python的运行效率

科技的发展推动了历史的车轮,技术的革新,见证了社会的变迁。用科技的力量,简化生活,用知识的海洋,强化科技的实力。大家好,我是你们最信赖的小编,今天小编继续用嘴准确的数据,最公正的视角,为大家带来最严谨的科技评测,让我们一起品读吧。

python功能强大、语言简洁这些大家都知道,但是python有个缺点就是运行速度比c、c++要慢很多,为了提高运行速度,就必须在python程序中设置多进程、多线程、协程或者是分布式进程。这些多进程等都可以使python的运行速度变快,从而达到人们所期待的运行效率。

下面将讲解协程爬虫如何实现并发处理:

1.一般模式:

为什么要学习协程?

由于IO操作非常耗时,经常使程序处于等待状态,有了gevent为我们自动切换协程,就保证总有greenlet在运行,而不是等待IO,这就是协程一般比多线程效率高的原因。

协程代码实例如下:

运行结果截图:

2.建立协程池

为什么要建立协程池?

greenlet需要进行并发管理(限制并发数)时,就可以使用池,这在处理大量的网络和IO操作时是非常需要的。

实例代码:

运行结果如下:

通过运行结果可以看出,Pool对象确实对协程的并发数量进行了管理,pool = Pool(2)

先访问了前两个网址,当其中一个任务完成时,才会执行第三个。

今天内容到此结束了,今天的内容是关于运行效率的问题,想要看多进程或多线程的操作可以去我的主页看看我的其他两篇文章。

喜欢的朋友可以关注一下喔,希望今天的内容对读者有所帮助。

文章依旧是这么的短暂,寥寥几句就已经结束,又到了小编该和各位读者朋友们说再见的时候了,小编每天都会持续更新严谨公证的评测文章和科技的新闻资讯,趣事看点。如果你和小编一样喜欢科技、热爱科技,你一定不要忘记给小编点个关注哦,点关注不迷路,感谢各位读者的支持,让我们一起去见证中国,见证世界的科技发展,我们下期再见。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181031A0KF7V00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券