新しい同期バリアを初期化します。
構文
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 |