Будинки Розвиток Що таке мутекс? - визначення з техопедії

Що таке мутекс? - визначення з техопедії

Зміст:

Anonim

Визначення - Що означає Mutex?

Mutex в C # - це клас, визначений у бібліотеці класів .NET Framework Framework, який може бути використаний для запобігання одночасного виконання блоку коду декількома потоками, які виконуються в одному або декількох процесах.


Mutex використовується як примітив синхронізації в ситуаціях, коли ресурс повинен бути спільним для декількох потоків одночасно. Іменовані mutex-об'єкти використовуються для міжпроцесорної синхронізації, оскільки декілька програм можуть отримати доступ до одного і того ж mutex-об'єкта.


Клас mutex призначений для захисту спільного ресурсу, такого як пам'ять, обробка файлів або мережеве з'єднання від одночасного доступу декількома потоками або процесами. Він використовується в операторі блокування для забезпечення серіалізованого доступу до ресурсів та забезпечення взаємного виключення всередині критичних розділів коду. Це допомагає запобігти непередбачуваному пошкодженню даних, який може виникнути, якщо немає синхронізації. Він часто використовується для перевірки одноразового застосування програми.


Mutex - це скорочена форма взаємовиключних.

Техопедія пояснює Мутекс

Mutex надає декільком потокам доступ до спільного ресурсу таким чином, що другий потік, який потребує придбання мутексу, який вже був придбаний іншим потоком, повинен зачекати до моменту, коли перша нитка випустить мутекс. Слід бути обережним, щоб нитка не намагалася придбати текстовий файл, який він уже містить, оскільки це може призвести до тупикової ситуації.


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


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


Хоча оператори блокування можуть використовуватися для синхронізації потоків в рамках одного процесу, mutex використовується через межі процесу.


Оскільки клас mutex є обгорткою для конструкції Win32, він вимагає переходів interop, що призводить до досягнення ефективності. Як такий, він не є вдалим вибором, якщо він не вимагається з таких причин, як синхронізація через межі процесу.

Це визначення було написано в контексті C #

Що таке мутекс? - визначення з техопедії