如何在Python中强制主线程关闭,当子线程仍然存活时?
如何在Python中强制主线程关闭,即使子线程还在运行?
sys.exit()
和 exit()
似乎会等子线程完成后才关闭?
2 个回答
1
你可能想把它设置成一个守护线程。关于守护线程的信息可以在这个链接找到。这样的话,它就不需要等那个线程完成了。
2
把你的子线程变成守护线程。比如:
class SubThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.daemon = True # Makes the thread a daemon thread
...
或者
subThread = threading.Thread(...)
subThread.daemon = True
当你的程序结束时,所有的守护线程会立刻结束。如果子线程不是守护线程,那么在你的程序结束之前,必须先停止这些线程。正如Serge在评论中提到的,"有没有办法在Python中杀死一个线程?" 讨论了停止线程的方法。