async/await实现异步IO
在Python3.5后引入了新的语法, 和 ,来代替asyncio,实现异步IO。
也就是实际上是新的语法,针对asyncio做简单的替换即可。
把 替换为async;把 替换为await。上一节的代码是:
使用新的语法是:
aiohttp
asyncio可以实现单线程并发IO操作。如果把asyncio用在服务器端,例如Web服务器,由于HTTP连接就是IO操作,因此可以用单线程+coroutine实现多用户的高并发支持。
asyncio实现了TCP、UDP、SSL等协议,aiohttp则是基于asyncio实现的HTTP框架。
比如我们来编写一个HTTP服务器,处理以下URL: 直接返回 ; 返回文本 。编写代码如下:
aiohttp的初始化函数init()也是一个coroutine,loop.create_server()则利用asyncio创建TCP服务。
领取专属 10元无门槛券
私享最新 技术干货