我的脚本的重点是让一个名为stopper的函数在到达特定时间后将终止线程事件发送给go_to函数。
当前,事件被触发,线程应该被关闭,并且停止器终止。但是go_to继续打印到命令行。
我不知道如何正确停止它。
import threading
import time
class Stop_Check(object):
def __init__(self):
self.thread1Stop = threading.Event()
def stopper(self):
t = 0
while True:
t = t + 1
time.sleep(1.0)
if t == 3 :
self.thread1Stop.set()
break
else :
print("I'm still going...")
time.sleep(1.0)
continue
print("terminated")
def go_to(self):
while (not self.thread1Stop.is_set()):
print("I am working!")
time.sleep(1.0)
def main(self):
t1 = threading.Thread(target=self.go_to)
t1.start()
self.stopper()
time.sleep(5.0)
if __name__ == '__main__' :
sc = Stop_Check()
sc.main()
答案 0 :(得分:0)
我尝试在名为Atom的软件之外的终端中运行脚本。现在,它按预期终止。感谢@Steven确认它有效!仍然不确定为什么会发生这种行为。