Tag Archives: Thread

Ejemplo de uso de Wait & Notify

A continuacion se presenta un ejemplo del uso de las funciones wait() y notifyAll() de sincronizacion de hilos en Java. Este es un mecanismo tradicional de sincronizacion de tareas en este lenguaje. También existe la posibilidad de usar funciones sincronizadas, utilizando la palabra reservada synchronized en la declaración de la función.

1. Declaramos un objeto que usaremos como ‘MUTEX’ o elemento bloqueante.

/** Mutex. */
public static final String WAIT = “wait”;

2. El hilo que ha de esperar, usa la función wait() de dicho objeto.

synchronized (WAIT) {
WAIT.wait();
}

3. El hilo que notifica al hilo de espera usa el metodo notifyAll() (o notify(), si solo espera un hilo siempre).

synchronized (WAIT) {
WAIT.notifyAll();
}