Mutex

Автор: Robert Simon
Дата создания: 21 Июнь 2021
Дата обновления: 14 Май 2024
Anonim
GROUND LOOT ONLY Challenge in Warzone - NO LOADOUTS?!
Видео: GROUND LOOT ONLY Challenge in Warzone - NO LOADOUTS?!

Содержание

Определение - что означает Mutex?

Mutex в C # - это класс, определенный в библиотеке классов платформы .NET, который можно использовать для предотвращения одновременного выполнения блока кода несколькими потоками, выполняющимися в одном или нескольких процессах.

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

Класс mutex предназначен для защиты общего ресурса, такого как память, файловый дескриптор или сетевое соединение, от одновременного доступа нескольких потоков или процессов. Он используется в операторе блокировки для предоставления сериализованного доступа к ресурсам и обеспечивает взаимное исключение внутри критических разделов кода. Это помогает предотвратить непредсказуемое повреждение данных, которое может возникнуть при отсутствии синхронизации. Он часто используется для проверки одного экземпляра приложения за раз.

Мьютекс является сокращенной формой взаимоисключающих.

Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

Техопедия объясняет Mutex

Mutex предоставляет нескольким потокам доступ к общему ресурсу, так что второй поток, которому необходимо получить мьютекс, который уже был получен другим потоком, должен ждать до момента, когда первый поток освободит мьютекс. Следует позаботиться о том, чтобы поток не пытался получить мьютекс, который у него уже есть, так как это может привести к тупику.

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

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

Хотя операторы блокировки могут использоваться для синхронизации потоков внутри одного процесса, мьютекс используется через границы процесса.

Поскольку класс mutex является оболочкой для конструкции Win32, он требует переходов взаимодействия, которые приводят к снижению производительности. Как таковой, он не является хорошим выбором, если он не требуется по причинам, таким как синхронизация через границы процесса.
Это определение было написано в кон C #