python3.6异步IO包asyncio部分核心源码思路梳理
关于python异步编程的演进过程,两篇文章阐述得妥妥当当,明明白白。 中文资料:https://mp.weixin.qq.com/s?__biz=MzIxMjY5NTE0MA==&mid=2247483720&idx=1&sn=f016c06ddd17765fd50b705fed64429c 英文资料:http://aosabook.org/en/500L/a-web-crawler-with-asyncio-coroutines.html 其实中文资料就是参考的英文资料,英文资料是开源书《 500 Lines or Less 》中的一个主题章节,整书地址:https://github.com/aosabook/500lines python的asyncio源码的核心思路其实跟基于生成器的协程异步编程思路大体一致,只是前者做了大量的代码优化和功能扩充。所以对照生成器协程代码来理解asyncio是很有帮助的。以下的这一小段代码就是采用基于生成器的协程的异步编程方式写的一个小爬虫案例,来自上述中文资料,asyncio的核心代码的思路大体上能从这段代码中找到原型。 该脚本命名为:yield_from.py import socket from selectors import DefaultSelector, EVENT_READ, EVENT_WRITE selector =