2009-09-11 7 views

Répondre

19

Un thread démon n'empêche pas la sortie de l'application. Le programme se termine lorsque tous les threads non démon (thread principal inclus) sont terminés. Donc en général, si vous faites quelque chose en arrière-plan, vous pouvez définir le thread comme démon afin que vous n'ayez pas explicitement besoin que la fonction de ce thread retourne avant que l'application puisse quitter. 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émon qui traînent, ce ne sera pas le cas.

De la documentation: http://docs.python.org/library/threading.html#threading.Thread.daemon

Sa valeur initiale est héritée de le fil de création; le thread principal n'est pas un thread démon et par conséquent tous les threads créés dans le thread principal par défaut à daemon = False.

Le programme Python entier se ferme lorsque aucun thread non démon vivant n'est laissé.

+1

Ok. Maintenant, j'ai une idée claire des fils de démon. Merci mon pote! –

+1

Alors, qu'advient-il des threads démon lorsque vous fermez l'application? –

+1

@Matteo les threads démon sont détruits lorsque le programme se termine. –

Questions connexes