运行 来自 Thread 的 Twisted reactor

Run Twisted reactor from a Thread

当我在同步 python 程序中从线程中 运行 反应器时,永远不会调用扭曲的代码。

为了解决这个问题,我不得不睡觉了。

def _reactor_thread(self):
    if not self.reactor.running:
        self.reactor.run(installSignalHandlers=0)


def _start_thread( self ):

    self.client_thread = Thread( target=self._reactor_thread,
                                 name="mine" )
    self.client_thread.setDaemon(True)
    self.client_thread.start()
    from time import sleep
    sleep( 0.5 )

最好的方法是什么,而不是调用睡眠?

我们可以用 Crochet. Or with using addSystemEventTrigger 做到这一点。