我正在使用扭曲的反应器来进行非块读取插座输入。 但是,我希望在反应堆开始运行后运行另一个循环
.....
reactor.listenTCP(12345, MyFactory())
reactor.run()
# ... blah blah socket input related code
while 1:
...
...
if something:
reactor.stop()
问题发生在reactor.run()
while
循环无效后。
我可以知道而不是在主te = Thread(target=reactor.run, args=(False,)).start()
中使用线程,任何其他方式可以使reactor.run()
处理非阻塞吗?
谢谢。
答案 0 :(得分:3)
reactor.run()
是一个阻止通话。你需要做一些事情,在一个单独的线程中运行你的循环。您拥有它的方式,您的循环将运行,但前提是您设法通过某些外部事件或信号停止反应堆。那时,对reactor.run()
的调用将返回,代码的其余部分将执行。
我实际上是在寻找一种以非阻塞的方式调用reactor.run()
的方法。如果有人有办法做到这一点,我很乐意听到它。