Funzione DeleteSynchronizationBarrier (synchapi.h)
Elimina una barriera di sincronizzazione.
Sintassi
BOOL DeleteSynchronizationBarrier(
[in, out] LPSYNCHRONIZATION_BARRIER lpBarrier
);
Parametri
[in, out] lpBarrier
Puntatore alla barriera di sincronizzazione da eliminare.
Valore restituito
La funzione DeleteSynchronizationBarrier restituisce TRUE
sempre .
Commenti
DeleteSynchronizationBarrier rilascia una barriera di sincronizzazione quando non è più necessaria. È sicuro chiamare DeleteSynchronizationBarrier immediatamente dopo aver chiamato EnterSynchronizationBarrier perché tale funzione garantisce che tutti i thread nella barriera abbiano finito di usarlo prima di consentire il rilascio della barriera.
Se una barriera di sincronizzazione non verrà mai eliminata, i thread possono specificare il flag di SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE quando entrano nella barriera. Questo flag consente alla funzione di ignorare il lavoro aggiuntivo richiesto per la sicurezza dell'eliminazione, che può migliorare le prestazioni. Tutti i thread che usano la barriera devono specificare questo flag; se qualsiasi thread non viene ignorato, il flag viene ignorato. Prestare attenzione quando si usa SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE, perché l'eliminazione di una barriera mentre questo flag è effettivo può causare un accesso di handle non valido e causare un blocco permanente di uno o più thread.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 [solo app desktop] |
Server minimo supportato | Windows Server 2012 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | synchapi.h |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |