您的解决方案对我来说很好。
有几种与线程通信的方法。要下令停止线程,可以使用threading.Event()
,它具有一个wait()
可以代替的方法time.sleep()
。
stop_event = threading.Event()
...
stop_event.wait(1.)
if stop_event.isSet():
return
...
为使线程在程序终止时退出daemon
,请True
在调用之前将其属性设置为start()
。这也适用于Timer()
对象,因为它们是子类threading.Thread
。请参阅http://docs.python.org/library/threading.html#threading.Thread.daemon