Функция DeleteSynchronizationBarrier (synchapi.h)
Удаляет барьер синхронизации.
Синтаксис
BOOL DeleteSynchronizationBarrier(
[in, out] LPSYNCHRONIZATION_BARRIER lpBarrier
);
Параметры
[in, out] lpBarrier
Указатель на удаляемую синхронизацию барьера.
Возвращаемое значение
Функция DeleteSynchronizationBarrier всегда возвращает TRUE
.
Комментарии
DeleteSynchronizationBarrier освобождает барьер синхронизации, когда он больше не нужен. Метод DeleteSynchronizationBarrier можно вызвать сразу после вызова Метода EnterSynchronizationBarrier , так как эта функция гарантирует, что все потоки в барьере завершали его использование, прежде чем разрешить освобождение барьера.
Если барьер синхронизации никогда не будет удален, потоки могут задать флаг SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE при входе в барьер. Этот флаг приводит к тому, что функция пропускает дополнительные действия, необходимые для обеспечения безопасности удаления, что может повысить производительность. Все потоки, использующие барьер, должны указывать этот флаг; Если ни один поток не выполняет этого, флаг игнорируется. Будьте осторожны при использовании SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE, так как удаление барьера, пока этот флаг действует, может привести к недопустимому доступу к дескрипторов и привести к постоянной блокировке одного или нескольких потоков.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | synchapi.h |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |