Содержание
- Определение - Что означает взаимное исключение (Mutex)?
- Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.
- Техопедия объясняет взаимное исключение (Mutex)
Определение - Что означает взаимное исключение (Mutex)?
Взаимное исключение (мьютекс) - это программный объект, который предотвращает одновременный доступ к общему ресурсу. Эта концепция используется в параллельном программировании с критическим разделом, фрагментом кода, в котором процессы или потоки обращаются к общему ресурсу. Только один поток одновременно владеет мьютексом, поэтому мьютекс с уникальным именем создается при запуске программы. Когда поток содержит ресурс, он должен заблокировать мьютекс из других потоков, чтобы предотвратить одновременный доступ к ресурсу. После освобождения ресурса поток разблокирует мьютекс.
Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.
Техопедия объясняет взаимное исключение (Mutex)
Mutex появляется, когда два потока работают с одними и теми же данными одновременно. Он действует как замок и является самым основным инструментом синхронизации. Когда поток пытается получить мьютекс, он получает мьютекс, если он доступен, в противном случае поток устанавливается в состояние ожидания. Взаимное исключение снижает время ожидания и ожидания при использовании очереди и переключателей. Mutex может применяться как на аппаратном, так и на программном уровне.
Отключение прерываний для наименьшего числа инструкций - лучший способ принудительно использовать мьютекс на уровне ядра и предотвратить повреждение общих структур данных. Если несколько процессоров совместно используют одну и ту же память, устанавливается флаг для включения и отключения получения ресурсов в зависимости от доступности. Механизм «занят-ожидание» обеспечивает мьютекс в областях программного обеспечения. Он снабжен такими алгоритмами, как алгоритм Деккерса, алгоритм черно-белой пекарни, алгоритм Шиманскиса, алгоритм Петерсона и алгоритм пекарни Лампорта.
Для эффективной реализации мьютекса могут быть определены взаимоисключающие читатели и коды классов мьютекса для чтения / записи.