DeleteSynchronizationBarrier-Funktion (synchapi.h)
Löscht eine Synchronisierungsbarriere.
Syntax
BOOL DeleteSynchronizationBarrier(
[in, out] LPSYNCHRONIZATION_BARRIER lpBarrier
);
Parameter
[in, out] lpBarrier
Ein Zeiger auf die zu löschende Synchronisierungsbarriere.
Rückgabewert
Die DeleteSynchronizationBarrier-Funktion gibt immer zurück TRUE
.
Hinweise
DeleteSynchronizationBarrier gibt eine Synchronisierungsbarriere frei, wenn sie nicht mehr benötigt wird. Es ist sicher, DeleteSynchronizationBarrier sofort nach dem Aufruf von EnterSynchronizationBarrier aufzurufen, da diese Funktion sicherstellt, dass alle Threads in der Barriere die Verwendung abgeschlossen haben, bevor die Barriere freigegeben werden kann.
Wenn eine Synchronisierungsbarriere nie gelöscht wird, können Threads das flag SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE angeben, wenn sie die Barriere betreten. Dieses Flag bewirkt, dass die Funktion den zusätzlichen Aufwand überspringt, der für die Löschsicherheit erforderlich ist, was die Leistung verbessern kann. Alle Threads, die die Barriere verwenden, müssen dieses Flag angeben. Wenn dies bei einem Thread nicht der Fall ist, wird das Flag ignoriert. Seien Sie bei der Verwendung von SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE vorsichtig, da das Löschen einer Barriere während der Gültigkeit dieses Flags zu einem ungültigen Handle-Zugriff führen kann und dazu führen kann, dass ein oder mehrere Threads dauerhaft blockiert werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | synchapi.h |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |