Table des matières:
- Définition - Que signifie l'exclusion mutuelle (Mutex)?
- Techopedia explique l'exclusion mutuelle (Mutex)
Définition - Que signifie l'exclusion mutuelle (Mutex)?
Une exclusion mutuelle (mutex) est un objet programme qui empêche l'accès simultané à une ressource partagée. Ce concept est utilisé dans la programmation simultanée avec une section critique, un morceau de code dans lequel des processus ou des threads accèdent à une ressource partagée. Un seul thread possède le mutex à la fois, ainsi un mutex avec un nom unique est créé au démarrage d'un programme. Lorsqu'un thread contient une ressource, il doit verrouiller le mutex des autres threads pour empêcher l'accès simultané à la ressource. Lors de la libération de la ressource, le thread déverrouille le mutex.
Techopedia explique l'exclusion mutuelle (Mutex)
Mutex apparaît dans l'image lorsque deux threads travaillent sur les mêmes données en même temps. Il agit comme un verrou et est l'outil de synchronisation le plus basique. Lorsqu'un thread essaie d'acquérir un mutex, il obtient le mutex s'il est disponible, sinon le thread est mis en condition de veille. L'exclusion mutuelle réduit la latence et les temps d'attente à l'aide des files d'attente et des changements de contexte. Mutex peut être appliqué à la fois au niveau matériel et logiciel.
La désactivation des interruptions pour le plus petit nombre d'instructions est le meilleur moyen d'appliquer le mutex au niveau du noyau et d'empêcher la corruption des structures de données partagées. Si plusieurs processeurs partagent la même mémoire, un indicateur est défini pour activer et désactiver l'acquisition de ressources en fonction de la disponibilité. Le mécanisme d'occupation active applique le mutex dans les domaines logiciels. Ceci est fourni avec des algorithmes tels que l'algorithme de Dekker, l'algorithme de boulangerie noir-blanc, l'algorithme de Szymanski, l'algorithme de Peterson et l'algorithme de boulangerie de Lamport.
Des lecteurs mutuellement exclusifs et des codes de classe mutex en lecture / écriture peuvent être définis pour une implémentation efficace de mutex.
