我试图弄清楚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替代吗?在
目前没有回答
相关问题 更多 >
编程相关推荐