У меня есть 3 активных потока. Один из них активирует другой Thread и использует getch() для обнаружения клавиши ESC, при нажатии на которую программа закрывается.
Когда два других потока завершают свою работу (без нажатия клавиши ESC), они успешно закрываются, но первый поток все еще ожидает нажатия клавиши ESC. Таким образом, программа все еще работает.
class tracking():
def __init__(self):
self.tecla = '\x1b' #ESC
self.case = None
def pressed(self, case):
self.case = getch()
def inicio(self): #The Thread in question calls this function
Thread(target=self.pressed(self.case)).start()
while True:
if self.case is not None:
if self.case == self.tecla:
sys.exit()
else:
self.case = None
self.pressed(self.case)