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!