Condividi tramite


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 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

Vedere anche

EnterSynchronizationBarrier

InitializeSynchronizationBarrier

Barriere di sincronizzazione

API Vertdll disponibili nelle enclave VBS