J'ai un service Windows écrit en dotNet. Il existe un service de travail qui génère des threads de travail à l'aide de Delegate.BeginInvokes. Lorsque le service se bloque, ces threads vont-ils être nettoyés automatiquement? Et si oui, quand?Un service de plantage de dotnet met-il fin à ses propres threads?
Répondre
Tous les sujets créés par votre processus sont à l'intérieur de ce processus. Lorsque votre application bloque votre processus meurt, et tous les threads dans ce processus se terminent brutalement. Ils ne sont pas terminés comme des amis (ils ne reçoivent pas de signal d'abandon ou quoi que ce soit), ils sont simplement tués. Ils peuvent ou ne peuvent pas avoir assez de temps processeur pour terminer l'exécution - dépend plutôt de ce qu'ils faisaient, et à quelle vitesse Windows vide le processus.
Toutes les versions robustes de Windows (2000+) devraient avoir votre processus séparé, donc quand il meurt tout l'espace de processus est vidé et la mémoire est récupérée. Si vous accédiez à des ressources non gérées au moment du crash, alors l'ensemble de l'image change et la réponse est "ça dépend".
que lorsque le service est annulé et déchargé de la mémoire
- 1. Django ne peut pas demander à http ses propres pages?
- 2. Forcer les threads dans un service à attendre la fin d'un autre thread
- 3. Modification par l'utilisateur de ses propres données Active Directory
- 4. Un composant Actionscript peut-il écouter ses propres événements propertyChange?
- 5. Comment lire un rapport de plantage à partir de l'iPhone
- 6. Rejoindre des threads dans un service hébergé WCF
- 7. Un bean EJB3 peut-il s'auto-injecter et appeler ses propres méthodes via un conteneur EJB?
- 8. NSUserDefaults: plantage de setObject
- 9. Quelle est la meilleure façon de se connecter à un service Web DotNet à partir de Java?
- 10. 1 point de fin de plusieurs contrats de service - wcf?
- 11. jquery ajoute ses propres événements/fonctions aux éléments html de son choix?
- 12. InternetAttemptConnect provoquant un plantage C++
- 13. Obtenir un plantage dans SHBrowseForFolder()
- 14. Rapport de plantage pour Java
- 15. Attendez que tous les threads de travail pour mettre fin à
- 16. NSOutlineView - reloadItem: reloadChildren: plantage de mon application
- 17. Interprétation des fichiers de plantage Java
- 18. Stratégie de rake, implémentation de DotNet
- 19. dotnet fuscator
- 20. "Fin de fichier inattendue" à l'aide de GetReaderAtBodyContents dans le service WCF
- 21. Puis-je utiliser le code de la bibliothèque google chrome gui pour ses propres applications de bureau?:
- 22. Création de mes propres callbacks
- 23. Accéder facilement à un tableau en fonction de ses dimensions
- 24. Verrouillage et multi-thread dans dotNet
- 25. Quand une classe devrait-elle utiliser ses propres getters/setters plutôt que d'accéder directement aux membres?
- 26. Recherche de tous les espaces de noms dans un assembly à l'aide de Reflection (DotNET)
- 27. L'accès à une propriété dans NSManagedObject provoque un pic de mémoire et un plantage
- 28. C++ Je suis coincé en remplissant ce BST avec ses propres valeurs
- 29. Sur quel système de fichiers un service Windows doit-il conserver ses données?
- 30. version DotNet de Windows Scripting Host
Le service sera-t-il déchargé même s'il y a encore des threads en cours d'exécution? –
@ [Orion Adrian]: J'en doute. Vous devriez vraiment prendre la responsabilité de gérer votre propre état d'application ;-) –