Função LeaveCriticalSection (synchapi.h)
Libera a propriedade do objeto de seção crítica especificado.
Sintaxe
void LeaveCriticalSection(
[in, out] LPCRITICAL_SECTION lpCriticalSection
);
Parâmetros
[in, out] lpCriticalSection
Um ponteiro para o objeto de seção crítica.
Retornar valor
Nenhum
Comentários
Os threads de um único processo podem usar um objeto de seção crítica para sincronização de exclusão mútua. O processo é responsável por alocar a memória usada por um objeto de seção crítica, o que pode ser feito declarando uma variável do tipo CRITICAL_SECTION. Antes de usar uma seção crítica, algum thread do processo deve chamar a função InitializeCriticalSection ou InitializeCriticalSectionAndSpinCount para inicializar o objeto.
Um thread usa a função EnterCriticalSection ou TryEnterCriticalSection para adquirir a propriedade de um objeto de seção crítico. Para liberar sua propriedade, o thread deve chamar LeaveCriticalSection uma vez para cada vez que ele entrou na seção crítica.
Se um thread chamar LeaveCriticalSection quando não tiver a propriedade do objeto de seção crítica especificado, ocorrerá um erro que pode fazer com que outro thread usando EnterCriticalSection aguarde indefinidamente.
LeaveCriticalSection não acessa a estrutura de CRITICAL_SECTION especificada depois que a propriedade de um objeto de seção crítica é liberada.
Qualquer thread do processo pode usar a função DeleteCriticalSection para liberar os recursos do sistema que foram alocados quando o objeto de seção crítica foi inicializado. Depois que essa função tiver sido chamada, o objeto de seção crítica não poderá mais ser usado para sincronização.
Exemplos
Para obter um exemplo que usa LeaveCriticalSection, consulte Usando objetos de seção críticos.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | synchapi.h (inclua Windows.h no Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |