DeleteSynchronizationBarrier 関数 (synchapi.h)
同期バリアを削除します。
構文
BOOL DeleteSynchronizationBarrier(
[in, out] LPSYNCHRONIZATION_BARRIER lpBarrier
);
パラメーター
[in, out] lpBarrier
削除する同期バリアへのポインター。
戻り値
DeleteSynchronizationBarrier 関数は常に を返しますTRUE
。
注釈
DeleteSynchronizationBarrier は、不要になったときに同期バリアを解放します。 EnterSynchronizationBarrier を呼び出した直後に DeleteSynchronizationBarrier を呼び出しても問題ありません。これは、バリア内のすべてのスレッドがバリアを解放する前に、バリア内のすべてのスレッドが使用を完了していることを保証するためです。
同期バリアが削除されない場合、スレッドはバリアに入ったときに SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE フラグを指定できます。 このフラグにより、関数は削除の安全性に必要な余分な作業をスキップするため、パフォーマンスが向上する可能性があります。 バリアを使用するすべてのスレッドは、このフラグを指定する必要があります。スレッドがない場合、フラグは無視されます。 このフラグが有効な間にバリアを削除するとハンドル アクセスが無効になり、1 つ以上のスレッドが完全にブロックされる可能性があるため、SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETEを使用する場合は注意してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | synchapi.h |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |