Buen día!
Pues bien, aquí tengo una duda que quisiera compartir con ustedes, ojalá me puedan echar una mano.
Tengo una aplicación que utiliza Threads para procesar datos, la estructura del proyecto a grandes rasgos es esta.
ProyectoX
- Sub Main
- Class ClaseX
Este proyecto utiliza clases de otro proyecto tipo librería que creé tambien, y está definido de la siguiente forma.
ProyectoY
- Class ClaseY
Ahora bien, el Sub ProyectoX.Main internamente obtiene una lista de parámetros y mediante un ciclo, instancía un nuevo objeto de la clase ProyectoX.ClaseX por cada parámetros obtenido, pudiendo ser 5, 10, 20 los que sean y lo ejecuta mediante un thread.
Internamente, la clase ProyectoX.ClaseX, crea un nuevo objeto de la clase ProyectoY.ClaseY y utiliza los métodos de esta clase para algunas actividades.
Hasta aquí todo bien, ya que efectivamente si observo que los threads se levantan y se ejecutan de manera independiente sin problema.
El tema es que cuando alguno de los Threads termina antes que los demás, como buen objeto destruye la referencia del objeto ProyectoY.ClaseY, y aqui es donde se complica la cosa, por que los demás Threads empiezan a tirar errores ya que las instancias que ellos generaron tambien hicieron maletas y no volvieron!
Alguna idea??
Saludos!