Junior — Middle
Explique el principio de funcionamiento del monitor como mecanismo para garantizar la sincronización de hilos.
sobes.tech AI
Respuesta de la IA
El monitor en Java es un mecanismo de sincronización que garantiza la exclusión mutua en el acceso a recursos compartidos entre hilos. Cada objeto en Java tiene asociado un monitor.
Principio de funcionamiento:
- Cuando un hilo entra en un bloque o método sincronizado, adquiere el monitor del objeto.
- Mientras el monitor esté adquirido, otros hilos que intenten entrar en el mismo bloque sincronizado se bloquean y esperan a que se libere el monitor.
- Tras salir del bloque, el monitor se libera y uno de los hilos en espera obtiene acceso.
Esto garantiza que en una sección crítica del código solo un hilo se ejecute a la vez, previniendo condiciones de carrera y asegurando la integridad de los datos.
Ejemplo:
synchronized(this) {
// sección crítica
sharedResource++;
}