deleteSynchronizationBarrier 函数 (synchapi.h)

删除同步屏障。

语法

BOOL DeleteSynchronizationBarrier(
  [in, out] LPSYNCHRONIZATION_BARRIER lpBarrier
);

参数

[in, out] lpBarrier

指向要删除的同步屏障的指针。

返回值

DeleteSynchronizationBarrier 函数始终返回 TRUE

注解

DeleteSynchronizationBarrier 在不再需要同步屏障时释放同步屏障。 在调用 EnterSynchronizationBarrier 后立即调用 DeleteSynchronizationBarrier 是安全的,因为该函数可确保屏障中的所有线程在允许释放屏障之前已完成使用它。

如果永远不会删除同步屏障,线程可以在进入该屏障时指定 SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE 标志。 此标志会导致函数跳过删除安全所需的额外工作,从而提高性能。 使用屏障的所有线程都必须指定此标志;如果任何线程没有,则忽略 标志。 使用 SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE 时要小心,因为在此标志生效时删除屏障可能会导致句柄访问无效,并导致一个或多个线程永久阻塞。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 synchapi.h
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

EnterSynchronizationBarrier

InitializeSynchronizationBarrier

同步屏障

VBS enclave 中可用的 Vertdll API