Gevent的libev和Twisted的

2024-04-27 15:10:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图弄清楚Gevent如何与python中的其他异步框架(如Twisted)一起工作。在

Gevent和Twisted的关键区别在于Gevent使用greenlets和monkey修补标准库来实现隐式行为和同步编程模型,而Twisted则需要特定的库和回调来实现显式行为。Gevent中的事件循环是libev/libevent,它是用C编写的,Twisted中的事件循环是reactor,它是用python编写的。在

libev/libevent有什么特别之处允许这种隐式行为吗?为什么不使用Python编写的事件循环呢?相反,为什么Twisted不使用libev/libevent?有什么特别的原因吗?也许这只是一个设计上的选择,可能会有任何一种选择。。。在

从理论上讲,Gevent的libev可以被另一个用python编写的事件循环代替吗,比如Twisted的reactor?Twisted的反应堆可以用libev替代吗?在


Tags: 模型框架标准编程事件twistedgevent原因