Un objet
d'exclusion mutuelle ou mutex est un objet créé pour une utilisation dans des
programmes informatiques. La fonction essentielle de mutex est de permettre à
un thread de programme multiple de faire usage d'une ressource unique. En
général, la fonctionnalité des objets d'exclusion mutuelle est de permettre
cette utilisation d'une ressource unique en créant un environnement où l'accès
à la ressource est continuellement transmis dans les deux sens entre les divers
aspects de ce programme.
Le processus
d'activation et la création d'un mutex a lieu lorsque le programme d'ordinateur
demande est ouverte. Essentiellement, le programme va créer le mutex et de le
rapporter à une ressource spécifique qui est nécessaire pour la fonction
efficace du programme ouvert. Comme les ressources est appelé de suite, le
système d'exploitation attribue un nom unique pour le mutex et l'utiliser pour
identifier le processus aussi longtemps que le programme reste ouvert.
Une fois le
mutex est activé et le nom de la session, un autre thread du programme qui
nécessite cette ressource peut avoir accès, même si la ressource est déjà en
utilisation active par un autre thread. En indiquant un besoin de la ressource,
la fonction de MUTEX commencera à alterner l'accès de la ressource dans les
deux sens entre les fils. Pour l'utilisateur final, ce processus est
transparent. Pour toutes fins utiles, il semble que deux utilisateurs ou deux
fils sont nous font de la même ressource en même temps.
Alors que la
vitesse du transfert de l'accès est si rapide qu'il n'est même pas perceptible
pour l'utilisateur final, il convient de noter que chaque fois que la ressource
est en cours d'utilisation, il est effectivement verrouillé sur le fil une dans
la séquence. Un autre sujet nécessitant l'utilisation de la ressource émettra
une demande qui ira dans une file d'attente et d'y rester jusqu'à ce que le
premier thread a fini avec l'utilisation active. À ce moment, la ressource est
déverrouillée et la fonction de MUTEX permet le prochain thread dans la file
d'attente d'accès actif. Si un troisième fil est active et les besoins en
ressources, MUTEX également aligner ce fil dans la file d'attente et accorder
l'accès sur une base rotative.