La diferencia entre Linux mutex y semáforo semáforo.
Mutex mutex solo se usa para proteger la sección crítica del código (acceso a recursos compartidos) y no se usa para la sincronización entre bloqueos, es decir, después de que un hilo libera un bloqueo mutex, puede obtener inmediatamente el mismo bloqueo. Independientemente de si otros subprocesos están esperando el bloqueo mutex.
Además de proteger la sección crítica, el identificador de semáforo también se utiliza para la sincronización de bloqueos. Es decir, después de que un subproceso libera un identificador, puede garantizar que el subproceso que espera el identificador tenga prioridad y no lo tendrá. obtenerlo inmediatamente.
Si dos hilos quieren llegar a la salida de un bloqueo, pueden hacerlo utilizando el mismo identificador. 1,2,1,2,1,2, deberían usar un semáforo, mientras que usar mutex puede resultar en 1,1,1,1,1,2,2,111….