如何在Python中强制主线程关闭,当子线程仍然存活时?

0 投票
2 回答
895 浏览
提问于 2025-04-18 08:54

如何在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中杀死一个线程?" 讨论了停止线程的方法。

撰写回答