我正在试图弄清楚Gevent如何在python中使用其他异步框架,比如Twisted。
Gevent和Twisted之间的关键区别在于,Gevent使用greenlet和Monkey修补标准库以获取隐式行为和同步编程模型,而Twisted需要特定的库和回调来实现显式行为。 Gevent中的事件循环是libev / libevent,它是用C编写的,而Twisted中的事件循环是反应堆,它是用python编写的。
libev / libevent是否有任何特殊内容允许这种隐式行为?为什么不使用Python编写的事件循环?相反,为什么不使用libev / libevent扭曲?有什么特别的原因吗?也许它只是一个设计选择,可能已经走了......
理论上,可以用另一个用python编写的事件循环替换Gevent的libev,就像Twisted的反应堆一样吗? Twisted的反应堆可以用libev替换吗?