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


Функция ReleaseMutex (synchapi.h)

Освобождает владение указанным объектом мьютекса.

Синтаксис

BOOL ReleaseMutex(
  [in] HANDLE hMutex
);

Параметры

[in] hMutex

Дескриптор объекта мьютекса. CreateMutex или

Функция OpenMutex возвращает этот дескриптор.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Функция ReleaseMutex завершается сбоем, если вызывающий поток не владеет объектом мьютекса.

Поток получает право владения мьютексом, создав его с параметром bInitialOwner , равным TRUE , или указав его дескриптор в вызове одной из функций ожидания. Если потоку больше не нужно владеть объектом мьютекса, он вызывает функцию ReleaseMutex , чтобы другой поток смог получить право владения.

Поток может указать мьютекс, которым он уже владеет, в вызове одной из функций ожидания, не блокируя его выполнение. Это предотвращает взаимоблокировку потока при ожидании мьютекса, которым он уже владеет. Однако, чтобы освободить владение, поток должен вызывать ReleaseMutex один раз для каждого получения права владения (с помощью CreateMutex или функции ожидания).

Примеры

Пример использования ReleaseMutex см. в разделе Использование объектов мьютекса.

Требования

Требование Значение
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header synchapi.h (включает Windows.h в Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

CreateMutex

Объекты мьютексов

Функции синхронизации