Está en la página 1de 3

1

MUTEX, SEMAFOROS, MONITORES Y BARRERAS

Los MUTEX, SEMÁFOROS, MONITOR Y BARRERAS son técnicas de

programación que se utilizan para sincronizar la ejecución de procesos o hilos en un

programa concurrente. A continuación, describiremos sus características y las diferencias

entre ellos:

MUTEX:

Un Mutex (Mutual Exclusion) es un objeto que se utiliza para proteger un recurso

compartido de acceso simultáneo por parte de múltiples hilos. El Mutex actúa como una

especie de "candado" que solo permite que un hilo acceda al recurso compartido en un

momento dado. El Mutex se bloquea mientras el hilo está accediendo al recurso y se libera

una vez que el hilo ha terminado.

Semáforos:

Los Semáforos son objetos que se utilizan para controlar el acceso a recursos

compartidos. Al igual que el Mutex, los Semáforos también actúan como "candados", pero

pueden permitir que múltiples hilos accedan al recurso compartido al mismo tiempo. El

semáforo mantiene un contador interno que se incrementa o decrementa cada vez que un hilo

accede al recurso compartido. Si el contador alcanza cero, entonces el semáforo bloquea el

acceso al recurso hasta que se libere.

Monitor:

Un Monitor es una estructura de datos que se utiliza para controlar el acceso a un

recurso compartido por parte de múltiples hilos. Los Monitores permiten que solo un hilo

acceda al recurso en un momento dado y bloquean a los demás hilos hasta que el recurso esté
2

libre. A diferencia de los Mutex y Semáforos, los Monitores también proporcionan funciones

de sincronización que permiten a los hilos comunicarse y coordinar su trabajo.

Barreras:

Las Barreras son objetos que se utilizan para sincronizar el trabajo de múltiples hilos.

Una Barrera permite que los hilos trabajen en paralelo hasta que alcanzan un punto de

sincronización común, donde deben detenerse y esperar a que los demás hilos alcancen ese

mismo punto antes de continuar. Las Barreras son útiles en situaciones donde se requiere que

todos los hilos terminen una tarea antes de continuar con la siguiente.

Diferencias entre Mutex, Semáforos, Monitor y Barreras:

El Mutex y el Semáforo se utilizan para controlar el acceso a recursos compartidos,

mientras que el Monitor se utiliza para controlar el acceso a un recurso compartido y

proporciona funciones de sincronización adicionales.

El Mutex solo permite que un hilo acceda al recurso en un momento dado, mientras

que el Semáforo puede permitir que varios hilos accedan al recurso al mismo tiempo.

El Monitor también proporciona funciones de sincronización que permiten a los hilos

comunicarse y coordinar su trabajo.

Las Barreras se utilizan para sincronizar el trabajo de múltiples hilos hasta que

alcanzan un punto de sincronización común, mientras que los Mutex, Semáforos y Monitores

se utilizan para controlar el acceso a recursos compartidos.


3

Referencias

Downey, A. B. (2016). The Little Book of Semaphores. Green Tea Press.AMD procesadores

Oracle. (s.f.). Mutex. Java SE 16 & JDK 16 Documentation.

https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/concurrent/locks/

Lock.html

También podría gustarte