python rq asyncio,Python中的异步编程:Asyncio

协程 — 花费数据的生成器,然则不生成数据。Python 2.5 介绍了一种新的语法让发送数据到生成器成为可能。我推荐查阅David Beazley “A Curious Course>

class Task(futures.Future):

def __init__(self, coro, loop=None):

super().__init__(loop=loop)

...

self._loop.call_soon(self._step)

def _step(self):

...

try:

...

result = next(self._coro)

exceptStopIterationasexc:

self.set_result(exc.value)

exceptBaseExceptionasexc:

self.set_exception(exc)

raise

else:

...

self._loop.call_soon(self._step)事宜轮回 — 把它想成 asyncio 的中间履行器。

如今我们看一下所有这些若何融为一体。正如我之前提到的,异步代码在一个线程中运行。

6482cbdf66cae14397bf114ea188ff49.jpg-wh_651x-s_3002308207.jpg

大年夜上图可亲信

如不雅你已经决定要懂得 Python 的异步部分,迎接来到我们的“Asyncio How-to ”。

2.大年夜队列中取得义务

1.消息轮回是在线程中履行

3.每个义务在协程中履行下一步动作

4.如不雅在一个协程中调用另一个协程(await ),会触发高低文切换,挂起当前协程,并保存现场情况(变量,状况),然后载入被调用协程

5.如不雅协程的履行到壅塞部分(壅塞I/O,Sleep),当前协程会挂起,并将控制权返回到线程的消息轮回中,然后消息轮回持续大年夜队列中履行下一?义务...以词攀类推

6.队列中的所有义务履行完毕后,消息轮回返回第一个义务

推荐阅读

让我们先看一下 kdump 的根本应用办法,和 kdump/kexec 在内核中是若何实现。kdump 是获取崩溃的 Linux 内核转储的一种办法,然则想找到解释其应用和内部构造的文档可能有点艰苦。在本文中>>>详细阅读

地址:http://www.17bianji.com/lsqh/36515.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值