根据文档:https://docs.python.org/3/library/threading.html
可以将一个线程标记为“守护程序线程”。该标志的重要性在于,仅保留守护程序线程时,整个Python程序都会退出。初始值是从创建线程继承的。可以通过daemon属性或daemon构造函数参数设置该标志。
示例代码:
thread = threading.Thread(target=MultiHandler().network, args=(conn, data), daemon=True)
thread.start()
参考其他许多StackOverflow答案,我不清楚主线程调用sys.exit()
时是否强制关闭守护程序线程
答案 0 :(得分:0)
请参阅zwer发表的评论,
程序退出时,其所有子线程都将被杀死。非守护程序的线程将阻止程序退出,从而防止其自身被破坏。 -zwer
简而言之,是的守护进程线程不会停止程序退出,因此它们将在退出时被杀死。