Mutex (Exclusión Mutua)
Bloqueo que previene el acceso concurrente a recursos compartidos.
A Mutex (short for Mutual Exclusion) is a locking mechanism used to manage access to a shared resource. Only one thread can 'own' a mutex at a time. If a thread wants to use a resource, it must 'lock' the mutex. If the mutex is already locked, the thread's execution is typically blocked until the owner 'unlocks' it.
graph LR
Center["Mutex (Exclusión Mutua)"]:::main
Rel_semaphore["semaphore"]:::related -.-> Center
click Rel_semaphore "/terms/semaphore"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Prueba de conocimiento
🧒 Explícalo como si tuviera 5 años
Imagina un baño con una sola llave. Si quieres usarlo, tomas la llave. Mientras tienes la llave, nadie más puede entrar. Cuando terminas, devuelves la llave para que otro pueda usarla.
🤓 Expert Deep Dive
Implementaciones de mutex: spinlocks (polling activo) vs mutex bloqueantes (suspensión de hilo). Mutex reentrantes permiten re-adquisición por el mismo hilo. Protocolos de herencia de prioridad evitan la inversión de prioridad.