Как выйти из программы на Python с запущенным потоком? - PullRequest
1 голос
/ 14 июля 2011

Я пишу простой код и использую Pygame для графики, и у меня есть поток, который рисует все.Когда я вызываю sys.exit () или просто ctrl + c, основная программа завершается, но поток кажется живым.Я думаю, что мне нужно закрыть его раньше.Как мне это сделать?

Пример:

import threading

class Bla(threading.Thread):
    def run(self):
        print "I draw here"

Bla().start()

while True:
     if user_wants_to_end:
         sys.exit()

А когда я хочу выйти, программа не выходит!Как мне закрыть нить?

1 Ответ

2 голосов
/ 14 июля 2011

Программы Python завершаются, когда все потоки, не являющиеся демонами, завершены.

class Bla(threading.Thread):
    daemon = True # Make the thread daemon
    def run(self):
        print "I draw here"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...