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)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

DeleteSynchronizationBarrier

EnterSynchronizationBarrier

同步處理屏障

VBS 記憶體保護區中可用的 Vertdll API