¿Qué es un mutex?
Un objeto de exclusión mutua, o mutex, es un objeto creado para su uso en programas de computadora. La función esencial de Mutex es hacer posible que un hilo de programa múltiple utilice un solo recurso. En general, la funcionalidad de los objetos de exclusión mutua es permitir este uso de un solo recurso mediante la creación de un entorno donde el acceso al recurso se pasa continuamente entre los diversos aspectos del programa.
El proceso de activación y creación de un mutex tiene lugar cuando se abre la aplicación del programa de computadora. Esencialmente, el programa creará el mutex y lo relacionará con un recurso específico que se necesita para la función eficiente del programa abierto. A medida que se solicitan los recursos, el sistema operativo asignará un nombre único al mutex y lo usará para identificar el proceso mientras el programa permanezca abierto.
Una vez que el mutex se activa y el nombre de la sesión, cualquier otro hilo del programa que requiera estoLos recursos pueden tener acceso, a pesar de que el recurso ya está en uso activo por otro hilo. Al indicar la necesidad del recurso, la función mutex comenzará a alternar el acceso del recurso de ida y vuelta entre los hilos. Para el usuario final, este proceso es transparente. Para todos los efectos prácticos, parece que dos usuarios o dos hilos nos están haciendo del mismo recurso simultáneamente.
Si bien la velocidad de la transferencia de acceso es tan rápida que ni siquiera se nota para el usuario final, debe tenerse en cuenta que cada vez que se usa un recurso, se bloquea de manera efectiva a un hilo en la secuencia. Otro hilo que requiere el uso del recurso emitirá una solicitud que irá a una cola y permanecerá allí hasta que el primer hilo haya terminado con el uso activo. En ese punto, el recurso se desbloquea y la función mutex permite el siguiente hilo en el queUE Acceso activo. Si un tercer hilo está activo y necesita el recurso, Mutex también alineará este hilo en la cola y otorgará acceso de forma rotativa.