Quelle différence cela fait-il lorsque je configure un thread python en tant que démon

StackOverflow https://stackoverflow.com/questions/1411860

  •  05-07-2019
  •  | 
  •  

Question

Quelle différence y a-t-il entre le fait de définir un thread python comme démon et d'utiliser thread.setDaemon (True) ?

Était-ce utile?

La solution

Un thread de démon n'empêchera pas l'application de quitter. Le programme se termine lorsque tous les threads non-démon (thread principal inclus) sont terminés.

Donc, généralement, si vous faites quelque chose en arrière-plan, vous voudrez peut-être définir le fil en tant que démon afin de ne pas avoir explicitement à renvoyer la fonction de ce fil avant la fermeture de l'application.

Par exemple, si vous écrivez une application graphique et que l'utilisateur ferme la fenêtre principale, le programme doit quitter. Mais si vous avez des threads non-démons, ce ne sera pas le cas.

D'après les documents: http://docs.python.org/ library / threading.html # threading.Thread.daemon

  

Sa valeur initiale est héritée de   le fil créateur; le fil conducteur   n'est pas un fil de démon et donc   tous les threads créés dans le thread principal   default to daemon = False.

     

L’ensemble du programme Python se ferme lorsque   il ne reste plus de threads non-démon en vie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top