Python协程实际上是否在项目中使用?

时间:2011-04-22 21:37:47

标签: python coroutine

我刚才读过David Beazley关于协同程序的this page,我想知道是否有任何实际的基于Python的软件使用它们?

协程如何看起来像是Python中最常用的功能?

4 个答案:

答案 0 :(得分:4)

要实现LEPLuses coroutines解析库trampolines,它允许“无限递归”。

答案 1 :(得分:3)

Twisted的defer.inlineCallbacks将您的功能转换为协同程序。

答案 2 :(得分:2)

由于Python非常丰富(异步)框架,我在这里展示了两个基于coroutine的框架:

1. Eventlet是Python的并发网络库,Coroutines确保开发人员使用类似于线程的阻塞式编程,但提供非阻塞I / O的好处。

2. Chiral是一个基于协同程序的轻量级网络框架,用于高性能的互联网和Web服务。

答案 3 :(得分:0)

python3中有很多项目使用协同程序。请访问www.asyncio.org查看资源。

对于任意列表:

  • Curio是David Beazley的并发框架(不使用asyncio)
  • aiozmq使用协程实现异步ZMQ传输
  • aioredis允许使用协同程序进行异步Redis操作