Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 TRUEsempre .
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 |