Python asyncio培训练习

Python asyncio培训练习

问题描述:

感觉需要学习如何使用asyncio,但不能想到可以帮助我学习这种新技术的适用问题(或问题集)。Python asyncio培训练习

你能提出一个问题,可以帮助我理解和学习实践中的asyncio用法吗?

换句话说:你能否给我一个抽象问题或应用程序的例子,它在编码时会帮助我学习如何在实践中使用asyncio。

谢谢

+0

尝试实施[netcat](http://netcat.sourceforge .net /)使用[cat](https://en.wikipedia.org/wiki/Cat_%28Unix%29),[asyncio subprocess](https://docs.python.org/3/library/asyncio-subprocess .html)和[asyncio streams](https://docs.python.org/3/library/asyncio-stream.html)。或者[网络爬虫](http://aosabook.org/en/500L/a-web-crawler-with-asyncio-coroutines.html)。 – Vincent

+0

谢谢。将尽力做到这一点。 – Xeizzen

+0

编写搜集器,收集站点上的所有链接,从主页开始(选择要测试的小站点)。爬虫应该并行地请求URL(例如,使用aiohttp,请参阅https://stackoverflow.com/a/35900453/1113207)。使用信号量来限制并行连接的数量。 https://docs.python.org/3/library/asyncio-sync.html#asyncio.Semaphore –

任何I/O密集型的任务将是ASYNCIO一个很好的例子。在网络编程环境中 - 任何需要同时处理数千个连接的应用程序。 Web服务器,网络爬虫,聊天后端,MMO游戏后端,洪流跟踪等。但请记住,您应该一路异步并使用异步版本的所有执行阻止I/O的库,如数据库驱动程序等。