Hilos (threads)

Solo disponible en BuenasTareas
  • Páginas : 7 (1588 palabras )
  • Descarga(s) : 0
  • Publicado : 23 de enero de 2012
Leer documento completo
Vista previa del texto
REPUBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DE EDUCACION SUPERIOR
INSTITUTO UNIVERSITARIO POLITECNICO
“SANTIAGO MARIÑO”

Informe:
HILOS (THREADS)

Realizado por:
Wilson Méndez
Maryelis Nieves
Cátedra: Programación no numérica ll
Ingeniería de Sistemas (47)

Ciudad Ojeda, Octubre del 2011
Esquema
* Que es un hilo?  (Thread).
* Ciclo de vida de hilos (Threads)
*Manejo de prioridades. Sincronización de hilos.
* Agrupación de hilos.
* Objetos Runnable.
 
 

* Que es un hilo?  (Thread).

Un hilo es una secuencia de código en ejecución dentro del contexto de un proceso. Los hilos no pueden ejecutarse ellos solos; requieren la supervisión de un proceso padre para correr. Dentro de cada proceso hay varios hilos ejecutándose. Por ejemplo, Wordpuede tener un hilo en background chequeando automáticamente la gramática de lo que estoy escribiendo, mientras otro hilo puede estar salvando automáticamente los cambios del documento en el que estoy trabajando. Como Word, cada aplicación (proceso) puede correr varios hilos los cuales están realizando diferentes tareas. Esto significa que los hilos están siempre asociados con un proceso enparticular.
Los hilos a menudo son conocidos o llamados procesos ligeros. Un hilo, en efecto, es muy similar a un proceso pero con la diferencia de que un hilo siempre corre dentro del contexto de otro programa. Por el contrario, los procesos mantienen su propio espacio de direcciones y entorno de operaciones. Los hilos dependen de un programa padre en lo que se refiere a recursos de ejecución. Lasiguiente figura muestra le relación entre hilos y procesos.

* Ciclo de vida de hilos (Threads)
El comportamiento de un hilo depende del estado en que se encuentre, este estado define su modo de operación actual, por ejemplo, si está corriendo o no. A continuación proporcionamos la relación de estados en los que puede estar un hilo Java.
* New
* Runnable
* Not running
* DeadNew:
Un hilo esta en el estado new la primera vez que se crea y hasta que el método start es llamado. Los hilos en estado new ya han sido inicializados y están listos para empezar a trabajar, pero aún no han sido notificados para que empiecen a realizar su trabajo.
Runnable:
Cuando se llama al método start de un hilo nuevo, el método run es invocado y el hilo entra en el estadorunnable. Este estado podría llamarse “running” porque la ejecución del método run significa que el hilo está corriendo. Sin embargo, debemos tener en cuenta la prioridad de los hilos. Aunque cada hilo está corriendo desde el punto de vista del usuario, en realidad todos los hilos, excepto el que en estos momentos está utilizando la CPU, están en el estado runnable (ejecutables, listos para correr) encualquier momento dado. Uno puede pensar conceptualmente en el estado runnable como si fuera el estado “running”, sólo tenemos que recordar que todos los hilos tienen que compartir los recursos del sistema.
Not running:
El estado not running se aplica a todos los hilos que están parados por alguna razón. Cuando un hilo está en este estado, está listo para ser usado y es capaz de volver alestado runnable en un momento dado. Los hilos pueden pasar al estado not running a través de varias vías.
A continuación se citan diferentes eventos que pueden hacer que un hilo esté parado de modo temporal.
* El método suspend ha sido llamado
* El método sleep ha sido llamado
* El método wait ha sido llamado
* El hilo está bloqueado por I/O
Para cada una de estasacciones que implica que el hilo pase al estado not running hay una forma para hacer que el hilo vuelva a correr. A continuación presentamos la lista de eventos correspondientes que pueden hacer que el hilo pase al estado runnable.
* Si un hilo está suspendido, la invocación del método resume
* Si un hilo está durmiendo, pasarán el número de milisegundos que se ha especificado...
tracking img