¿Cuál es la mejor manera de terminar una aplicación multihilo de forma limpia?
Estoy comenzando varias conexiones de socket desde la hebra principal en sockets separados y espero hasta el final de mi día laboral en la hebra principal y uso actualmente System.Environment.Exit(0)
para terminarla.Multi-Threading - Estrategia de limpieza al final del programa
Esto conduce a una excepción no controlada en uno de los hijos. ¿Debería detener los hilos de la lista? He sido reacio a implementar cualquier parada real en los niños, por lo tanto, me pregunto acerca de la mejor práctica. Todos los conectores están bien conectados con los destructores adecuados para cerrar y cerrar sesión, pero todavía conduce a errores.
Hacer que todos los subprocesos de sus hilos de trabajo puedan evitar los gritos de muerte a medida que el proceso finaliza, pero no es muy elegante. Los hilos de fondo se terminan, incluso si están en el medio de hacer algo, una vez que todos los hilos de primer plano han terminado. – OldFart
Lo he implementado y lo probaré el lunes. – weismat
Probado y trabajado como un encanto. – weismat