在什么情况下,像eventlet / gevent这样的东西会比扭曲更好?扭曲似乎是最常用的,但eventlet / gevent必须具有一些优势...... 我不是在寻找特定场景的答案,只是一般性。
答案 0 :(得分:10)
我认为这是一个审美偏好的问题。
首先,eventlet实际上可以使用Twisted进行网络连接,所以从某种意义上说,它不是一个问题,也不是问题,而是这个问题的基础。
就个人而言,我认为不需要像gevent或eventlet这样的库,特别是自Twisted中@inlineCallbacks
装饰器的出现以来,已经编写了类似于阻塞的代码。
但是,如果您有一个已经使用线程的大型代码库,并且您希望将其移植到事件驱动,那么像eventlet这样的东西可以为您节省一些输入,因为您不需要插入'{{ 1}}无处不在..有些人,就像EVE在线游戏背后的人一样,认为用这种风格编写的代码对于某些事情来说更好,比如AI代码。