Sobes.tech
Junior — Middle

¿Cómo se realiza el bloqueo al llamar a un método estático declarado con la palabra clave synchronized?

sobes.tech AI

Respuesta de la IA

Si un método estático se declara con la palabra clave synchronized, entonces el bloqueo ocurre en el objeto de la clase (objeto Class), y no en una instancia.

Esto significa que al llamar a dicho método, el hilo adquiere el monitor (lock) de la clase a la que pertenece el método, y otros hilos que intenten llamar a cualquier otro método estático sincronizado de esa misma clase, esperarán a que se libere el bloqueo.

Ejemplo:

public class MyClass {
    public static synchronized void staticSyncMethod() {
        // código del método
    }
}

Aquí, el monitor es el objeto MyClass.class.