У дома развитие Какво е мутекс? - определение от техопедия

Какво е мутекс? - определение от техопедия

Съдържание:

Anonim

Определение - Какво означава Mutex?

Mutex, в C #, е клас, дефиниран в библиотеката на клас .NET Framework, който може да се използва за предотвратяване на едновременно изпълнение на блок код от множество нишки, които се изпълняват в един или няколко процеса.


Mutex се използва като примитив за синхронизация в ситуации, когато ресурсът трябва да бъде споделен от няколко нишки едновременно. Именованите mutex обекти се използват за междупроцесова синхронизация, тъй като множество приложения могат да имат достъп до един и същ mutex обект.


Мутекс класът е проектиран да защитава споделен ресурс като памет, дръжка на файл или мрежова връзка от едновременния достъп от множество нишки или процеси. Използва се в заключение за заключване, за да осигури сериализиран достъп до ресурси и гарантира взаимно изключване в критичните секции от кода. Той помага да се предотврати непредсказуемата корупция на данните, която може да възникне, ако няма синхронизация. Често се използва за проверка на отделен екземпляр на приложение наведнъж.


Mutex е съкратена форма на взаимно изключващи се.

Техопедия обяснява Мутекс

Mutex предоставя множество нишки с достъп до споделен ресурс, така че вторият поток, който трябва да придобие мутекс, който вече е придобит от друга нишка, трябва да изчака до момента, когато първата нишка освободи мутекса. Трябва да се внимава, че нишката не се опитва да придобие мутекс, който вече притежава, тъй като това може да доведе до задънена улица.


Например, мутекс може да се използва за осигуряване на изключителен достъп до файл, който трябва да бъде прочетен или модифициран в многопоточна среда.


Класът Mutex има конструктор, който може да се използва за определяне на ключови параметри на нов mutex обект по време на неговото инициализиране, като име, информация за собственост и защита на контрола на достъпа, която да се приложи към имената mutex.


Докато заключенията за заключване могат да се използват за синхронизиране на нишки в рамките на един процес, mutex се използва през границите на процеса.


Тъй като mutex клас е обвивка на конструкция Win32, той изисква interop преходи, които водят до хит към производителността. Като такъв, той не е добър избор, освен ако не се изисква по причини като синхронизация през границите на процеса.

Това определение е написано в контекста на C #

Какво е мутекс? - определение от техопедия