Python3 async def和@asyncio.coroutine的区别
来源:互联网 发布:vpn mac版本 编辑:程序博客网 时间:2024/06/06 03:24
转载自http://blog.csdn.net/youzhouliu/article/details/51965036
其实这边文章是廖雪峰Python教程中的一节https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00144661533005329786387b5684be385062a121e834ac7000
用asyncio
提供的@asyncio.coroutine
可以把一个generator标记为coroutine类型,然后在coroutine内部用yield from
调用另一个coroutine实现异步操作。
为了简化并更好地标识异步IO,从Python 3.5开始引入了新的语法async
和await
,可以让coroutine的代码更简洁易读。
请注意,async
和await
是针对coroutine的新语法,要使用新的语法,只需要做两步简单的替换:
- 把
@asyncio.coroutine
替换为async
; - 把
yield from
替换为await
。
让我们对比一下上一节的代码:
@asyncio.coroutinedef hello(): print("Hello world!") r = yield from asyncio.sleep(1) print("Hello again!")
用新语法重新编写如下:
async def hello(): print("Hello world!") r = await asyncio.sleep(1) print("Hello again!")
剩下的代码保持不变。
阅读全文
0 0
- Python3 async def和@asyncio.coroutine的区别
- 有了@asyncio.coroutine装饰器,为什么还需要async关键字?
- defer和async的区别
- defer和async的区别
- defer和async的区别
- defer和async的区别
- defer和async的区别
- Python3 asyncio 例程
- Python3-def
- ThreadSafe和Async-Signal-Safe的区别
- js中defer和async的区别
- JS中defer和async的区别
- defer和async的详细区别
- defer和async的详细区别
- defer和async的原理与区别
- Javascript中defer和async 的区别
- Python3.4 asyncio模块简介
- python3和python2的区别
- 有关 PHP 和 js 浮点运算的坑
- Linux基础命令
- 另一种判断网络状态
- 【干货#004】解决"Failed to load image"错误
- Kotlin初体验:一个简单了解Kotlin的Demo
- Python3 async def和@asyncio.coroutine的区别
- Unity中导入的模型,第一(三)人称可以穿插模型,该怎么解决?
- 短信接口安全防护策略
- 遍历二叉树的神级方法(Morris遍历)
- Python3 在sublime text 的 console输出中文
- linux负载均衡总结
- ubuntu16.04安装vmware后集成显卡如何开启3D加速的问题解决思路
- Codeforces Round #444 (Div. 2) A、B、C
- QWidget背景设置