ayuda con Thread

Gito®
31 de Enero del 2005
Hola a todos... tengo la siguiente problematica:
Necesito controlar cuando un thread a dejado de existir y caputurar diferentes instantes de este.
Estoy utilizando el siguiente trozo de codigo:

class EscuchaThread extends Thread{
public EscuchaThread(MiThread mt){
this.mt = mt;
}
public void run(){
while(true){
if (!mt.isAlive()){
System.out.println(mt.getMensaje());
break;
}
}
}

private MiThread mt = null;

}

Lo malo es que con este bucle (while(true)) ocupo demasiados clock de procesador y la aplicacion tiende a quedarse pegada.

Alguno de ustedes sabes alguna forma de monitorear cada cierto intervalo de tiempo si el Thread esta vivo y el mensaje que obtengo con el metodo getMensaje() ???

Ojala alguien me pueda ayudar..!!

Gito®
31 de Enero del 2005
SOLUCION ENCONTRADA

Rigel
31 de Enero del 2005
HOLA:

Bueno el problema que detecto en ru programa es exactamente lo que comentas del while, bueno debido a que solo dejaste el valor booleano directo,, entonces ese while siempre se va a cumplir por lo que nunca va a dejar de hacer la condición.

Bien para ese caso te recomiendo que ssignes el valor boleano a una variable es decir:

boolean flag = true;

while(flag){
if (!mt.isAlive()){
System.out.println(mt.getMensaje());
flag = false;
}
}........etc.

Con esto solo se va a ejecutar una sola vez el ciclo hasta que vuelvas a asignar un valor true a flag.

Ahora con respecto a lo que mencionabas de monitorear un Thread puedes hacerlo con un Timmer o con algun otro Thread e incluso con el mismo Thread que estás ocupando, pero ten cuidado con la sincronización. Revisa más esos temas, revisa notify().

Saludos y Suerte