Я пытаюсь выполнить следующий код (это я немного упрощен):Как прервать многопоточное приложение python?
def RunTests(self):
from threading import Thread
import signal
global keep_running
keep_running = True
signal.signal(signal.SIGINT, stop_running)
for i in range(0, NumThreads):
thread = Thread(target = foo)
self._threads.append(thread)
thread.start()
# wait for all threads to finish
for t in self._threads:
t.join()
def stop_running(signl, frme):
global keep_testing
keep_testing = False
print "Interrupted by the Master. Good by!"
return 0
def foo(self):
global keep_testing
while keep_testing:
DO_SOME_WORK();
Я ожидаю, что пользователь нажимает Ctrl + C программы напечатает хорошо сообщение и прерывает. Однако это не сработает. В чем проблема?
Благодаря
Большое спасибо. Я потратил много времени на решение этой проблемы. –