InitializeSynchronizationBarrier 函数 (synchapi.h)

初始化新的同步屏障。

语法

BOOL InitializeSynchronizationBarrier(
  [out] LPSYNCHRONIZATION_BARRIER lpBarrier,
  [in]  LONG                      lTotalThreads,
  [in]  LONG                      lSpinCount
);

参数

[out] lpBarrier

指向要初始化 的SYNCHRONIZATION_BARRIER 结构的指针。 这是一个不透明的结构,不应由应用程序修改。

[in] lTotalThreads

可进入此屏障的最大线程数。 进入屏障的最大线程数后,所有线程将继续。

[in] lSpinCount

单个线程在等待其他线程到达屏障时应旋转的次数。 如果此参数为 -1,则线程旋转 2000 次。 如果线程超过 lSpinCount,则线程将阻止,除非它使用 SYNCHRONIZATION_BARRIER_FLAGS_SPIN_ONLY调用 EnterSynchronizationBarrier

返回值

TRUE 如果已成功初始化屏障,则为 。 如果未成功初始化屏障,此函数将 FALSE返回 。 使用 GetLastError 获取扩展错误信息。

要求

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

另请参阅

DeleteSynchronizationBarrier

EnterSynchronizationBarrier

同步障碍

VBS enclave 中可用的 Vertdll API