viernes, 11 de abril de 2014

CICLO DE VIDA DE UN THREAD

En el apartado anterior se ha visto cómo crear nuevos objetos que permiten incorporar en un programa la posibilidad de realizar varias tareas simultáneamente. En la Figura 6.2 (tomada del Tutorial de Sun) se muestran los distintos [ estados por los que puede pasar un thread a lo largo de su vida. Un thread puede presentar cuatro estados distintos:

  1. Nuevo (New)\ El thread ha sido creado pero no inicializado. es decir, no se ha ejecutado todavía el método start(). Se producirá un mensaje de error (.IllegalThreadStateException) si se intenta ejecutar cualquier método de la clase Thread distinto de start(). 
  2.  Ejecutable (Runnable): El thread puede estar ejecutándose, siempre y cuando se le haya asignado un determinado tiempo de CPU. En la práctica puede no estar siendo ejecutado en un instante determinado en beneficio de otro thread. 
  3. Bloqueado (Blocked o Not Runnable): El thread podría estar ejecutándose, pero hay alguna actividad interna suya que lo impide, como por ejemplo una espera producida pol- lina operación de escritura o lectura de datos por teclado (E/S). Si un thread está en este estado, no se le asigna tiempo de CPU. 
  4. Muerto (Dead): La fonna habitual de que un thread muera es finalizando el método run(). También puede llamarse al método stopf) de la clase Thread. aunque dicho método es considerado '"peligroso" y no se debe utilizar. 
A continuación se explicarán con mayor detenimiento los puntos anteriores. 

No hay comentarios:

Publicar un comentario