我尝试了以下实现,一种使用'reactor.stop()',另一种使用'reactor.stop':
reactor.listenTCP(
host_port, server.Site(PageFactory())
).stopListening()
reactor.callFromThread(reactor.stop())
while reactor.running:
print("running")
time.sleep(0.1)
if not reactor.running:
print("STOPPED!!!!!")
以上内容在'reactor.stop()'行上引发了一个异常: “行1016,在callFromThread中 断言callable(f),“%s不可调用”%(f,) AssertionError:不可调用” 即使我使用了“来自twisted.internet进口反应堆”,而且许多人似乎都使用了react.stop()。因此,这不会打印“正在运行”或“已停止!!!!”。
reactor.listenTCP(
host_port, server.Site(PageFactory())
).stopListening()
reactor.callFromThread(reactor.stop)
while reactor.running:
print("running")
time.sleep(0.1)
if not reactor.running:
print("STOPPED!!!!!")
上面的内容无休止地显示“正在运行”,因此反应堆永远不会停止。