Compartilhar via


Método Context::Block

Bloqueia o contexto atual.

static void __cdecl Block();

Comentários

Esse método resultará no agendador padrão dos processos que está sendo criado e/ou anexado ao contexto de chamada se não houver nenhum o agendador associado atualmente com o contexto de chamada.

Se o contexto de chamada está em execução em um processador virtual, o processador virtual encontrará outro contexto executável para executar ou pode potencialmente criar um novo.

Depois que o método de Block foi chamado ou será chamada, você deve emparelhá-lo com uma chamada ao método de Desbloqueie de outro contexto de execução para que seja executado novamente. Lembre-se de que há um período crítico entre o ponto em que seu código publicação do contexto de outro thread pode chamar o método de Unblock e o ponto em que a chamada real do método a Block será feito. Durante esse período, você não deve chamar nenhum método que por sua vez pode bloquear e desbloquear para suas próprias motivos (por exemplo, adquire um bloqueio). Chamadas para o método de Block e de Unblock não controlam o motivo do bloqueio e desbloqueio do. Apenas um objeto deve ter a propriedade de um par de Block- deUnblock .

Esse método pode gerar uma variedade de exceções, incluindo scheduler_resource_allocation_error.

Requisitos

Cabeçalho: concrt.h

Namespace: simultaneidade

Consulte também

Referência

Classe Context

Método Context::Unblock

Conceitos

Agendador de tarefas (Tempo de Execução de Simultaneidade)