Mutex

Définition - Que signifie Mutex?

Mutex, en C #, est une classe définie dans la bibliothèque de classes .NET Framework qui peut être utilisée pour empêcher l'exécution simultanée d'un bloc de code par plusieurs threads qui s'exécutent dans un ou plusieurs processus.

Mutex est utilisé comme primitive de synchronisation dans les situations où une ressource doit être partagée par plusieurs threads simultanément. Les objets mutex nommés sont utilisés pour la synchronisation inter-processus car plusieurs applications peuvent accéder au même objet mutex.

La classe mutex est conçue pour protéger une ressource partagée comme la mémoire, le descripteur de fichier ou la connexion réseau contre l'accès simultané par plusieurs threads ou processus. Il est utilisé dans l'instruction de verrouillage pour fournir un accès sérialisé aux ressources et garantit une exclusion mutuelle dans les sections critiques du code. Cela permet d'éviter la corruption imprévisible des données qui peut survenir en l'absence de synchronisation. Il est souvent utilisé pour rechercher une seule instance d'une application à la fois.

Mutex est une forme abrégée de mutuellement exclusif.

Definir Tech explique Mutex

Mutex fournit à plusieurs threads l'accès à une ressource partagée de sorte que le deuxième thread qui a besoin d'acquérir un mutex qui a déjà été acquis par un autre thread doit attendre le moment où le premier thread libère le mutex. Il faut veiller à ce qu'un thread n'essaye pas d'acquérir un mutex qu'il contient déjà, car cela peut entraîner un blocage.

Par exemple, un mutex peut être utilisé pour fournir un accès exclusif à un fichier qui doit être lu ou modifié dans un environnement multithread.

La classe Mutex a un constructeur qui peut être utilisé pour spécifier les paramètres clés d'un nouvel objet mutex lors de son initialisation, tels que le nom, les informations de propriété et la sécurité de contrôle d'accès à appliquer au mutex nommé.

Alors que les instructions de verrouillage peuvent être utilisées pour synchroniser les threads dans un seul processus, le mutex est utilisé à travers les limites du processus.

Étant donné que la classe mutex est un wrapper pour une construction Win32, elle nécessite des transitions d'interopérabilité qui entraînent une atteinte aux performances. En tant que tel, ce n'est pas un bon choix à moins que cela ne soit requis pour des raisons telles que la synchronisation au-delà des limites du processus.

Cette définition a été écrite dans le contexte de C #