当前位置:   article > 正文

pythonawait教程_Python async\/await教程

await python

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

异步编程在过去的几年里获得了大量的支持,这是有原因的。虽然它比传统的流式编程更难,但是也更高效。

例如,使用Python异步协同程序,在继续执行前不需要等待HTTP请求完成,你可以提交请求,一边做其他队列中等待的工作一边等待HTTP请求完成。这可能需要思考更多来获得正确的逻辑,但是你可以以更少的资源处理更多的工作。

即便如此,异步函数的语法和执行在Python这样的语言中实际上并不困难。

异步性似乎是node.js在服务器端编程如此受欢迎的最大原因。我们写的大部分代码取决于外部资源,尤其是在像网站一样的重IO应用。依赖外部资源可以是任何东西,从远程数据库调用到给REST服务发送POST请求。一旦你请求这些资源,你的代码就开始等待不做其他事情。

使用异步编程,在等待其他资源响应时,允许代码处理其他任务。

协程

Python中的异步函数通常被称为“协程”,它仅仅是一个采用异步关键字或是用@asyncio.coroutine装饰的函数。两个函数中的任何一个都将作为协同程序工作并且类型是等效的:

这些特殊函数当被调用时返回协同对象时。如果你熟悉JavaScript Promises对象的话,你可以把这个返回对象看作Promises对象。调用这些函数的任何一个实际上并没有运行他们,而是返回一个协同程序对象,然后可以传递到事件循环执行。

如果你需要决定一个函数是否是协同程序,asyncio提供了asyncio.iscoroutinefunction(func) 方

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/703699
推荐阅读
相关标签
  

闽ICP备14008679号