Quelle est la meilleure façon de terminer une application multi-thread de manière propre?
Je commence plusieurs connexions socket du fil conducteur dans des prises séparées et attendre jusqu'à la fin de ma journée d'affaires dans le thread principal et utiliser actuellement System.Environment.Exit(0)
d'y mettre fin.Multi-Threading - Stratégie de nettoyage à la fin du programme
Cela conduit à une exception non gérée dans l'un des Childs. Dois-je arrêter les discussions de la liste? J'ai été réticent à mettre en place un réel arrêt chez les enfants, donc je m'interroge sur la meilleure pratique. Les prises sont toutes bien emballées avec des destructeurs appropriés pour se déconnecter et se fermer, mais cela entraîne toujours des erreurs.
Faire tous vos fils de threads de travail de fond peuvent éviter tout cris de mort que les sorties de processus, mais il est peu gracieux. Les threads d'arrière-plan sont terminés, même s'ils sont en train de faire quelque chose, une fois que tous les threads de premier plan sont terminés. – OldFart
J'ai implémenté ceci et je vais le tester lundi. – weismat
Testé et travaillé comme un charme. – weismat