当我将python线程设置为守护进程时,它有什么不同

Vij*_*pte 11 python multithreading daemon

使用thread.setDaemon(True)?将python线程设置为守护进程时有什么区别呢?

Fog*_*ird 23

守护程序线程不会阻止应用程序退出.当所有非守护程序线程(包括主线程)完成时,程序结束.

因此,通常情况下,如果您在后台执行某些操作,则可能需要将该线程设置为守护程序,这样您就不必在应用程序退出之前显式返回该线程的函数.

例如,如果您正在编写GUI应用程序并且用户关闭主窗口,则程序应该退出.但是如果你有非守护进程线程,它就不会.

来自文档:http://docs.python.org/library/threading.html#threading.Thread.daemon

它的初始值继承自创建线程; 主线程不是守护程序线程,因此在主线程中创建的所有线程都默认为daemon = False.

当没有剩下活着的非守护程序线程时,整个Python程序退出.

  • 那么关闭应用程序时守护程序线程会发生什么? (2认同)
  • @Matteo守护程序线程在程序退出时被杀死. (2认同)