Função DeleteSynchronizationBarrier (synchapi.h)
Exclui uma barreira de sincronização.
Sintaxe
BOOL DeleteSynchronizationBarrier(
[in, out] LPSYNCHRONIZATION_BARRIER lpBarrier
);
Parâmetros
[in, out] lpBarrier
Um ponteiro para a barreira de sincronização a ser excluída.
Retornar valor
A função DeleteSynchronizationBarrier sempre retorna TRUE
.
Comentários
DeleteSynchronizationBarrier libera uma barreira de sincronização quando ela não é mais necessária. É seguro chamar DeleteSynchronizationBarrier imediatamente após chamar EnterSynchronizationBarrier porque essa função garante que todos os threads na barreira tenham terminado de usá-lo antes de permitir que a barreira seja lançada.
Se uma barreira de sincronização nunca for excluída, os threads poderão especificar o sinalizador SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE quando entrarem na barreira. Esse sinalizador faz com que a função ignore o trabalho extra necessário para a segurança de exclusão, o que pode melhorar o desempenho. Todos os threads que usam a barreira devem especificar esse sinalizador; se qualquer thread não o fizer, o sinalizador será ignorado. Tenha cuidado ao usar SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE, pois excluir uma barreira enquanto esse sinalizador estiver em vigor pode resultar em um acesso de identificador inválido e fazer com que um ou mais threads fiquem permanentemente bloqueados.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | synchapi.h |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |