Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PRACTICA 1: HILOS
CUATRIMESTRE 8
NMERO DE PRCTICA 1
NOMBRE HILOS
DURACIN (HORAS) 2
INTRODUCCIN:
Un proceso es un programa en ejecucin que es localizado en la memoria por el sistema operativo. Un hilo es una ejecucin o flujo de control en el espacio de direcciones de un proceso. Un proceso puede tener ms de un hilo. Todos los hilos en un proceso tienen su propio contador de programa y su propia pila para variables locales y direcciones de retorno de invocacin de procedimientos. Un CPU pueden estar ejecutando distintos procesos pesados y uno de ellos puede estar compuesto por distintos flujos de ejecucin (threads o hebras o hilos). Estas threads tendrn que disputarse el tiempo de ejecucin que el S.O. le d al proceso en el que residen.
REVISO: Pgina | 1
TEORA: Un thread (hilo, flujo de control del programa) representa un proceso individual ejecutndose en un sistema. A veces se les llama procesos ligeros o contextos de ejecucin. Cada hilo controla un nico aspecto dentro de un programa, como puede ser supervisar la entrada en un determinado perifrico o controlar toda la entrada/salida del disco.Todos los hilos comparten los mismos recursos, al contrario que los procesos, en donde cada uno tiene su propia copia de cdigo y datos (separados unos de otros).
La clase Thread Es la clase que encapsula todo el control necesario sobre los hilos de ejecucin (threads), la clase Thread es la nica forma de controlar el comportamiento de los hilos, esto se logra con los mtodos que proporciona.
REVISO: Pgina | 2
REVISO: Pgina | 3
Nuevo Thread ThreadMiThread = new MiClaseThread(); Cuando un thread est en este estado, es simplemente un objeto Thread vaco. Desde este estado solamente puede arrancarse llamando al mtodo start(), o detenerse definitivamente, llamando al mtodo stop().
Parado El thread entra en estado "Parado" cuando alguien llama al mtodo suspend(), cuando se llama al mtodo sleep(), cuando el thread est bloqueado en un proceso de entrada/salida o cuando el thread utiliza su mtodo wait() para esperar a que se cumpla una determinada condicin. Los mtodos de recuperacin del estado Ejecutable son los siguientes: Si un thread est dormido, pasado el lapso de tiempo. Si un thread est suspendido, luego de una llamada al mtodo resume(). Si un thread est bloqueado en una entrada/salida, una vez que el comando E/S concluya su ejecucin.
REVISO: Pgina | 4
Muerto Un thread se puede morir de dos formas: por causas naturales o porque lo maten (con stop()).El mtodo stop() enva un objeto ThreadDeath al thread que quiere detener.