|
Programacion
|
En este articulo se detalla en ciclo de vida de un thread tomando como base que se tiene algún concepto relativo a los hilos de ejecución en Java.Los threads o hilos de ejecución representan un proceso dentro de la máquina virtual Java. Con el nacimiento de la informática, surgió rápidamente la necesidad de que una máquina que había costado una gran cantidad de dinero realizase varias tareas simultáneamente. Para que las tareas no resultasen secuenciales y pudiesen ejecutar acciones en paralelo se creó el concepto de proceso, de manera que como generalmente tendremos menos microprocesadores que tareas en una máquina, un proceso es equiparable a una tarea y el procesador es compartido por dichos procesos. ara que al usuario le dé sensación de simultaneidad en la ejecución de tareas paralelas, el microprocesador cambia rápidamente de un proceso a otro de manera que no es perceptible para el usuario, es decir, va sacando un poco trabajo adelante de cada proceso y cambia muy rápido de manera que da la impresión de que hace todas esas tareas a la vez. Además, se de la circunstancia de que hay determinadas acciones a la hora de realizar una tarea que son muchísimo más lentas que el procesador (del orden de varios miles de veces más lentas, como el acceder a un dispositivo de entrada/salida, etc), con lo que siempre que hay que hacer una de estas lentas operaciones el procesador cambia de proceso. En este artículo no vamos a centrarnos en tratar de explicar que es un thread aunque hemos hecho una ligera introducción, sino que nos centraremos en describir su ciclo de vida y en cuáles son los métodos que tiene esta clase para la gestión de dicho ciclo. En la figura 1 tenemos un descriptivo en el que apoyaremos nuestra explicación. Figura1.
Por motivos de claridad y exactitud a partir de ahora al proceso o thread le llamaremos hilo de ejecución. Un hilo, cuando se crea, pasa al estado de creado. Cuando llamamos al método start() del hilo,este pasa al estado "listo". Cuando el sistema encuentra el hilo que posee mayor prioridad hace que éste pase al estado "ejecutando" asignándole el procesador. Una vez que se está ejecutando al hilo le pueden suceder 6 cosas:
Con estas descripciones hemos detallado todos los estados que puede recorrer un Hilo o Thread en su ciclo de vida. Hay que destacar como funciona la organización de las colas que se producen en los diferentes estados al encontrarse en ellos varios hilos a la vez. En primer lugar los hilos llevan un parámetro que es modificable mediante programación de prioridad. El que mayor prioridad tiene antes pasa. A igual prioridad, el primero que llegó a la cola es el primero que pasa al estado de ejecutando. Si un hilo no se ejecuta a medida que va pasando tiempo en listo la máquina virtual le va aumentando su prioridad para que gane puestos en la lista y no se produzca una situación de hambruna (un hilo tiene menos prioridad que otros y nunca llega a entrar en el procesador porque siempre habrá otro hilo de prioridad mayor esperando con él en el estado "listo"). Las colas tienen la misma organización, es decir, primero llega, antes sale, en el resto de estados. Por ultimo detallamos cual son los métodos de la clase Thread que tienen relación directa sobre su ciclo de vida.
Informe (Java) de Daniel Hernando Calleja Webmaster de # Han valorado este artículo de Java. 17 usuario(s). Valoración media: Este artículo ha sido leído ( 8684 veces ). Fecha: 6/27/2006
|
Artículos Relacionados
Comenzando a programar en Java
Como conectar Java y Access Generar un archivo ejecutable con Java Java Server Pages Traducir nombres de host a direcciones de Internet en java Crear un applet java para reproducir sonidos Crear un applet java para mostrar una serie de imagenes Un Applet java para utilizar fuentes Determinar el nombre del host donde se ejecuta el applet java Una calculadora en Java |