当一些变量值设置为true时如何终止线程?
import threading
class test(threading.Thread):
def __init__(self):
self.stopThread = False
self.start():
def start(self):
while not self.stopThread:
callOtherFunction //which takes alomst 30 sec to execute
def stop(self):
self.stopThread = True
现在的问题是,如果调用start函数并且while循环启动,那么它将在下一次迭代时检查停止条件,当它完成其内部工作时,所以如果调用callOtherFunction则它仍然等待30秒要退出..我想在设置变量时立即终止线程。有可能吗?
答案 0 :(得分:0)
这个问题在这里得到了回答:
Is there any way to kill a Thread in Python?
最重要的是,如果你可以帮助它,你应该避免以这种方式杀死一个线程。但是,如果必须,可以尝试一些技巧。
另外,为了保证线程安全,您应该self.stopThread
一个threading.Event()
并使用set()
和clear()
来表示线程何时应停止。