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

Confira também

Objetos de seção crítica

Deletecriticalsection

Entercriticalsection

Initializecriticalsection

InitializeCriticalSectionAndSpinCount

Funções de sincronização

TryEnterCriticalSection

APIs Vertdll disponíveis em enclaves de VBS