Beruflich Dokumente
Kultur Dokumente
Son
Sirven para
Jerarqua de excepciones
Cmo se codifica?
OJO
HILOS - THREAD
Es
Un flujo de ejecucin secuencial independiente dentro de un proceso.
Comparten
El espacio de direcciones, pero tienen su propio contador de programa y su propia pila de
ejecucin.
Ejemplo
Un navegador en ejecucin es un proceso y cada una de las ventanas de navegacin abiertas son
hilos independientes dentro del proceso.
Quin permite representar a los hilos de ejecucin?
La clase Thread.
Creacin de hilos con la clase Thread
Paso 1: Crear una clase que extienda la clase Thread.
Paso 2: Implementar el mtodo run(). Este mtodo es el cuerpo del hilo. El hilo muere al finalizar
run().
Arranque de un hilo
Paso 1: Crear una clase que lance los hilos
Paso 2: Invocar al operador new para crear los hilos.
Paso 3: Invocar al mtodo start() de cada hilo. Este mtodo arranca el hilo e invoca al mtodo
run().
CLASE THREAD
SINCRONIZACIN DE HILOS
Los hilos pueden utilizar objetos comunes y manipularlos de forma independiente.
El acceso a las regiones crticas se controla con los mtodos synchronized. Un mtodo
synchronized de un objeto slo puede ser ejecutado por un nico hilo en cada momento.
Tambin se pueden sincronizar variables.
El envo y recepcin de seales entre los hilos se realiza con los mtodos wait(), notify() y
notifyAll().
void wait() duerme al hilo hasta la llegada de un notify().
void notify() despierta a uno de los hilos que estaban esperando por el objeto.
void notifyAll() despierta a todos los hilos que estaban esperando por el objeto.
Ejemplo de sincronizacin