python异步IO

最近研究了一下python3中的协程, 为了加速图片的批量下载, 在此记录分享一下。

说协程就不得不说进程和线程, 基本概念就不说了, 直接可以归纳为:对操作系统来说,线程是最小的执行单元,进程是最小的资源管理单元。无论进程还是线程,都是由操作系统所管理的。而有些时候我们并不满足于由操作系统管理,造成进程间切换的资源浪费,自己在进程里面写一个逻辑流调度的东西。那么我们即可以利用到并发优势,又可以避免反复系统调用,还有进程切换造成的开销,分分钟给你上几千个逻辑流不费力。这就是协程。

理论上的协程其实是单线程的, 为什么协程性能好,其实真正的原因是因为瓶颈在IO上面,而现实很多场景的瓶颈也是在IO上面,所以这时候上协程就再适合不过了。

python可以通过yield/send的方式实现协程,在python3.5以后,async/await成为了更好的替代方案。只接上代码,实现了异步批量下载图片:

网友评论

0条评论

发表

网友评论

0条评论

发表

最新评论

推荐文章

彩龙

Copyright © 2008-2019 彩龙社区(http://www.clzg.cn) 版权所有 All Rights Reserved.

免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。

经营许可证编号:滇B2-20090009-7

下载我家昆明APP 下载彩龙社区APP