Поделиться через


Альтернативные варианты объектов Мьютекса

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

  • Драйверы не могут использовать подпрограммы KeWaitForSingleObject или KeWaitForMultipleObjects для ожидания быстрого или защищенного мьютекса. Таким образом, драйвер не может ждать быстрого или защищенного мьютекса и объекта диспетчера одновременно.

  • Драйверы не могут получить быстрый или защищенный мьютекс рекурсивным образом. Если драйвер пытается получить быстрый или защищенный мьютекс, который он уже приобрел, возникает взаимная блокировка. Однако объект мьютекса можно получить рекурсивно.

Дополнительные сведения о быстрых и защищенных мьютексах можно найти в разделе Fast Mutexes и Guarded Mutexes.