Share via


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

関連項目

EnterSynchronizationBarrier

InitializeSynchronizationBarrier

同期バリア

VBS エンクレーブで使用できる Vertdll API