我对将线程设置为守护进程意味着什么感到有些困惑。
文档是这样说的:
可以将线程标记为“守护线程”。这个标志的意义在于,当只剩下守护线程时,整个 Python 程序就退出了。初始值继承自创建线程。可以通过 daemon 属性设置标志。
我不确定这与普通线程有何不同。
这是说这个程序永远不会完成吗?
def threadfunc():
while True:
time.sleep(1)
threading.Thread(target=threadfunc).start()
即使主线程完成它的执行。虽然会立即完成?
def threadfunc():
while True:
time.sleep(1)
th = threading.Thread(target=threadfunc)
th.daemon = True
th.start()
我问是因为我有一种情况,在我的主线程中我正在调用 sys.exit(),并且进程只是挂起并且我的其他线程正在运行,因为我可以看到日志。
这是否与 sys.exit() 被调用而线程处于活动状态有什么关系?