Блоки взаимного исключения - общий метод сериализации выполнения потоков. Мьютексы синхронизируют потоки, гарантируя, что только один поток в некоторый момент времени выполняет критическую секцию кода. Мьютексы можно использовать и в однопоточном коде.
(Комментарий эксперта: утверждение не совсем корректно, так как для синхронизации выполнения критических секций существует механизм критических секций, который более эффективен по сравнению с мютексами. Мьютексы используются для синхронизации доступа к грубо говоря памяти (например к объекту))
Атрибуты мьютекса могут быть связаны с каждым потоком. Чтобы изменить атрибуты мьютекса по умолчанию, можно объявить и инициализировать объект атрибутов мьютекса, а затем изменить определенные значения. Часто атрибуты мьютекса устанавливаются в одном месте, в начале приложения, чтобы можно было быстро найти и изменить их.
После того, как сформированы атрибуты мьютекса, можно непосредственно инициализировать мьютекс. Доступны следующие действия с мьютексом: инициализация, удаление, захват или открытие, попытка захвата.