如何退出运行线程的Python程序?

时间:2011-07-14 14:33:09

标签: python multithreading exit

我正在编写一些简单的代码,我使用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 个答案:

答案 0 :(得分:2)

当所有非守护程序线程完成时,Python程序退出。

class Bla(threading.Thread):
    daemon = True # Make the thread daemon
    def run(self):
        print "I draw here"