Twisted,gevent eventlet - 我什么时候使用它们

Var*_*unt 9 python twisted gevent eventlet

在什么情况下,像eventlet/gevent这样的东西比扭曲更好?Twisted似乎是最常用的,但eventlet/gevent必须具有一些优势......我不是在寻找特定场景的答案,只是一般性.

Gly*_*yph 10

我认为这是一个审美偏好的问题.

首先,eventlet实际上可以使用Twisted进行网络连接,所以从某种意义上说,它不是一个问题,也不是问题,它是一个建立在这个问题之上的问题.

就个人而言,我没有看到像gevent或eventlet这样的库的需要,尤其是自@inlineCallbacksTwisted中装饰器的出现以来,已经编写了类似于阻塞的代码.

但是,如果你有一个已经使用线程的大型代码库,并且你想将它移植到事件驱动,那么像eventlet这样的东西可以节省你一些打字,因为你不需要在yield任何地方插入.有些人,比如EVE在线游戏背后的人,认为用这种风格编写的代码对某些东西更好,比如AI代码.