Quelle différence fait quand je définis un thread python en tant que démon, en utilisant thread.setDaemon(True)
?Quelle différence cela fait quand je mets le fil python en tant que démon?
Répondre
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. Quelle est la différence entre nohup et un démon?
- 2. Comment installer Tomcat en tant que démon sur OS X?
- 3. Qu'est-ce que cela signifie quand mon texte est affiché en tant que boîtes?
- 4. Interprète Python en tant que classe C++
- 5. Définition de l'énumération Java imbriquée - la déclaration en tant que statique fait-elle une différence?
- 6. Index SQL Server - croissant ou décroissant, quelle différence cela fait-il?
- 7. Puis-je exécuter un script Python en tant que service?
- 8. comment puis-je déterminer si un script python est importé en tant que module ou exécuté en tant que script?
- 9. Que signifie être un thread démon?
- 10. Exécuteur et démon en Java
- 11. Que fait === faire en PHP
- 12. Différence entre VB.Net et C# "en tant que nouveau WebControl"
- 13. Que fait cette fonction en Python impliquant urllib2 et BeautifulSoup?
- 14. Serveur VMWare vs ESXi - quelle différence?
- 15. Modification de XML en tant que dictionnaire en python?
- 16. Je ne me souviens pas quelle était la fonction qui fait cela
- 17. Héritage d'une classe, qu'est-ce que cela fait?
- 18. Communiquer avec un démon python en cours d'exécution
- 19. Comment se fait-il que mon code fonctionne quand j'utilise un MessageBox.Show() entre et ne fonctionne pas sans cela?
- 20. La méthode d'enregistrement Authlogic. Qu'est-ce que cela fait
- 21. Quelle différence fait BLOB ou TEXT par rapport à VARCHAR()?
- 22. Exécuter une chaîne en tant que commande en python
- 23. Exécuter un projet Python dans Eclipse en tant que root
- 24. Meilleure méthode pour exécuter une application Java en tant que démon * nix ou service Windows?
- 25. Qu'est-ce que cela fait? tasklist/m "mscor *"
- 26. Que fait glLoadIdentity() en OpenGL?
- 27. Que fait ResourceCache de tomcat? Quelle est la différence entre hitsCount et accessCount?
- 28. Autorisation ASP.NET que fait le * et? signifier?
- 29. Comment puis-je créer une boîte assez grande pour contenir tout contenu que je mets dedans?
- 30. Comment le démon Ruby
Ok. Maintenant, j'ai une idée claire des fils de démon. Merci mon pote! –
Alors, qu'advient-il des threads démon lorsque vous fermez l'application? –
@Matteo les threads démon sont détruits lorsque le programme se termine. –