none
Duda sobre Hilos en C# RRS feed

  • Pregunta

  • Hola por primera vez estoy creando un Hilo (thread) en un programa de C# con Windows Forms, el ejemplo lo encontré navegando por internet y funciona, explico brevemente la función Timbre lo único que hace es llamar a un WebService para generar un timbre fiscal.

            Estas 3 líneas están dentro de un foreach donde unos por uno se le envía el documento a timbrar pero lo hice en un hilo porque no me interesa esperar a que termine un documento para enviar otro y de esta forma puedo enviar uno en un hilo y en la siguiente vuelta genero otro hilo y se hace el envíoal Web Service, todo funciona bien, la duda surge porque un compañero me dijo:

      ¿Estás instanciando muchos hilos pero en ningún momento los destruyes entonces los estás dejando en memoria, una vez terminado su proceso ya no hacen nada pero se quedan en memoria tarde o temprano vas a saturar la memoria RAM?

    Asi que mi duda son 2 es verdad que se puede saturar la memoria?

    En caso de que si. Como puedo eliminar el hilo de memoria una vez terminado el proceso al que invoca el Hilo?

                 CODIGO DE EJEMPLO:

                     foreach (DataRow dr in dt.Rows)
                        {

                                ParameterizedThreadStart Param = new ParameterizedThreadStart(Timbre);

                                Thread Hilo = new Thread(Param);

                                 Hilo.Start(dr["ID"].ToString());

                          }

    martes, 23 de abril de 2019 21:14

Todas las respuestas