Sobes.tech
Junior — Middle

¿Qué métodos principales de la clase Object se utilizan para trabajar con flujos y sincronización?

sobes.tech AI

Respuesta de la IA

En Java, la clase Object proporciona varios métodos que se utilizan con frecuencia al trabajar con hilos y sincronización:

  • wait() — hace que el hilo actual espere hasta que otro hilo llame a notify() o notifyAll() en el mismo objeto. Se usa para organizar la espera de un estado determinado.

  • notify() — despierta a un solo hilo que está esperando en ese objeto.

  • notifyAll() — despierta a todos los hilos que están esperando en ese objeto.

Estos métodos deben ser llamados dentro de un bloque o método sincronizado, de lo contrario se lanzará una IllegalMonitorStateException.

Ejemplo de uso:

synchronized (sharedObject) {
    while (!condition) {
        sharedObject.wait();
    }
    // Acciones después de que se cumple la condición
}

// En otro hilo
synchronized (sharedObject) {
    // Cambio de estado
    sharedObject.notify();
}