Мутекс

Автор: Robert Simon
Дата Створення: 21 Червень 2021
Дата Оновлення: 14 Травень 2024
Anonim
Что такое mutex | Cинхронизация потоков | Многопоточное программирование | C++ #6
Відеоролик: Что такое mutex | Cинхронизация потоков | Многопоточное программирование | C++ #6

Зміст

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

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

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

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

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

Вступ до Microsoft Azure та Microsoft Cloud | У цьому посібнику ви дізнаєтеся, що стосується хмарних обчислень та як Microsoft Azure може допомогти вам мігрувати та вести свій бізнес із хмари.

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

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

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

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

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

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