
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:
- 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().
- 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.
- 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.
- 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