【发布时间】:2020-07-10 09:36:03
【问题描述】:
我有如下代码
def run():
While True:
doSomething()
def main():
thread = threading.thread(target = run)
thread.setDaemon(True)
thread.start()
doSomethingElse()
如果我像上面这样写代码,当主线程退出时,Deamon线程会退出,但可能还在doSomething的进程中。
main函数会在外面调用,我不允许在主线程中使用join,
有什么办法可以让守护线程在主线程完成后优雅退出。
【问题讨论】:
-
请注意,
daemon线程的全部意义在于它们不会优雅地退出。您的目标实际上是“如何优雅地退出daemon线程”,还是“如何优雅地退出运行循环的线程”?
标签: python multithreading daemon