Kol*_*dar 7 python coroutine async-await python-3.5
我刚刚阅读了PEP0492,谈论了关于协同程序的新方法,但是PEP未能让我理解基于生成器的协同程序和本机协同程序之间的区别.有人可以告诉我差异(也许有例子)?
根据我的理解,他们使用不同的单词(产量/收益率和等待/ async/yield).据我所知,在本地协程结束时,预计会产生收益,但对于基于生成器的协同程序也是如此.
为了扩展Mike S写的内容:CPython中的本地协同程序与生成器共享大部分相同的代码,因此几乎没有功能差异.但是,我认为PEP-492超过了"语法糖"的门槛.生成器和本地协同程序具有不同的用途,因此新语法阐明了作者的意图,并且可以执行旧语法无法做到的事情.这里有些例子:
await使用协程对象,则会发出警告.新语法也很好地镜像了asyncio库,并且类似于其他语言中使用的关键字.
| 归档时间: |
|
| 查看次数: |
1112 次 |
| 最近记录: |