1
我在我的應用程序中使用了twisted並在它自己的線程中運行它。像這樣使用扭曲效果很好,但它永遠不會正常停止。如何在自己的線程中運行並正確停止?
例子:
# Python 2.7.6
# Twisted==15.4.0
import time
import threading
from twisted.internet import reactor
print("starting reactor")
reactor_thread = threading.Thread(target=reactor.run,
kwargs={"installSignalHandlers": False})
reactor_thread.start()
print("reactor started")
time.sleep(1)
print("stopping reactor")
reactor.stop()
print("joining thread")
reactor_thread.join()
print("reactor stopped") # <- never reached
輸出:
starting reactor
reactor started
stopping reactor
joining thread
完全重構我的應用程序並不是真正的選擇,因爲我依賴於也必須更改的依賴關係。我想要做的就是可靠地停止反應堆。 –