当我将 python 线程设置为守护进程时,使用thread.setDaemon(True)
?
问问题
6562 次
1 回答
24
守护线程不会阻止应用程序退出。当所有非守护线程(包括主线程)完成时,程序结束。
所以一般来说,如果你在后台做某事,你可能想要将线程设置为守护进程,这样你就不必在应用程序退出之前显式地让该线程的函数返回。
例如,如果您正在编写一个 GUI 应用程序并且用户关闭了主窗口,那么程序应该退出。但是,如果您有非守护线程挂起,则不会。
来自文档:http ://docs.python.org/library/threading.html#threading.Thread.daemon
它的初始值继承自创建线程;主线程不是守护线程,因此在主线程中创建的所有线程默认为 daemon = False。
当没有活着的非守护线程时,整个 Python 程序退出。
于 2009-09-11T17:20:46.133 回答