Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste artigo
Representa um objeto de seção crítico.
class CriticalSection;
Nome | Descrição |
---|---|
CriticalSection::CriticalSection | Inicializa um objeto de sincronização semelhante a um objeto mutex, mas pode ser usado apenas pelos threads de um único processo. |
CriticalSection::~CriticalSection | Desinicializa e destrói o objeto atual CriticalSection . |
Nome | Descrição |
---|---|
CriticalSection::IsValid | Indica se a seção crítica atual é válida. |
CriticalSection::Lock | Aguarda a propriedade do objeto de seção crítica especificado. A função retorna quando o thread de chamada recebe a propriedade. |
CriticalSection::TryLock | Tenta inserir uma seção crítica sem bloquear. Se a chamada for bem-sucedida, o thread de chamada assumirá a propriedade da seção crítica. |
Nome | Descrição |
---|---|
CriticalSection::cs_ | Declara um membro de dados de seção crítica. |
CriticalSection
Cabeçalho: corewrappers.h
Namespace: Microsoft::WRL::Wrappers
Desinicializa e destrói o objeto atual CriticalSection
.
WRL_NOTHROW ~CriticalSection();
Inicializa um objeto de sincronização semelhante a um objeto mutex, mas pode ser usado apenas pelos threads de um único processo.
explicit CriticalSection(
ULONG spincount = 0
);
spincount
A contagem de rotação para o objeto de seção crítica. O valor padrão é 0.
Para obter mais informações sobre seções críticas e spincounts, consulte a InitializeCriticalSectionAndSpinCount
função na Synchronization
seção da documentação da API do Windows.
Declara um membro de dados de seção crítica.
CRITICAL_SECTION cs_;
Esse membro de dados está protegido.
Indica se a seção crítica atual é válida.
bool IsValid() const;
Por padrão, sempre retorna true
.
Aguarda a propriedade do objeto de seção crítica especificado. A função retorna quando o thread de chamada recebe a propriedade.
SyncLock Lock();
static SyncLock Lock(
_In_ CRITICAL_SECTION* cs
);
cs
Um objeto de seção crítica especificado pelo usuário.
Um objeto de bloqueio que pode ser usado para desbloquear a seção crítica atual.
A primeira função Lock
afeta o objeto de seção crítica atual. A segunda função Lock
afeta uma seção crítica especificada pelo usuário.
Tenta inserir uma seção crítica sem bloquear. Se a chamada for bem-sucedida, o thread de chamada assumirá a propriedade da seção crítica.
SyncLock TryLock();
static SyncLock TryLock(
_In_ CRITICAL_SECTION* cs
);
cs
Um objeto de seção crítica especificado pelo usuário.
Um valor diferente de zero se a seção crítica for inserida com êxito ou se o thread atual já possuir a seção crítica. Zero se outro thread já possuir a seção crítica.
A primeira função TryLock
afeta o objeto de seção crítica atual. A segunda função TryLock
afeta uma seção crítica especificada pelo usuário.