¿Cuándo llega un subproceso al estado terminado? ¿Se termina cuando se llega al final del método run()
?¿Cómo verificar si el hilo ha finalizado?
Entonces, ¿cuál es la forma correcta de comprobar si un hilo finaliza? Porque la siguiente condición parece ser verdadera siempre para mí
if(!(thread.getState()).equals("TERMINATED")){}
¿Alguna idea?
Gracias, @Art, por la solución. –
'y sí: cuando el método run() finaliza (ya sea normalmente o porque arroja una excepción), un hilo pasará al estado TERMINATED. Eso no es verdad en realidad, con excepción de ejecución anormal llama a' UncaughtExceptionHandler 'y es libre de hacer lo que le plazca. (Incluye cosas como 'Thread.currentThread(). run()'), el hilo está en estado de terminación Después del método exit() que puede bloquear (infinitamente) en la sincronización 'ThreadGroup'. – bestsss
@bestsss: y allí esperaba que nadie notara ese pequeño vacío ;-) Sí, tienes razón, por supuesto. –