Partilhar via


Método de Context::Unblock

Desbloqueia o contexto e faz com que ele se torne executável.

virtual void Unblock() =0;

Comentários

É perfeitamente legal para uma chamada para o Unblock método vêm antes de uma chamada correspondente para o bloco método.Contanto que as chamadas para o Block e Unblock métodos estão emparelhados adequadamente, o runtime lida corretamente com a corrida natural de um dos pedidos.Um Unblock chamada antes de um Block chamada simplesmente nega o efeito do Block chamar.

Existem várias exceções que podem ser lançadas deste método.Se um contexto tenta chamar o Unblock método em si, uma context_self_unblock exceção será lançada.Se chama Block e Unblock não estão emparelhados adequadamente (por exemplo, duas chamadas para Unblock feita para um contexto que está sendo executado), um context_unblock_unbalanced exceção será lançada.

Lembre-se de que há um período crítico entre o ponto onde seu código publica seu contexto para outro segmento chamar o Unblock método e o ponto onde o método real chamar para Block é feita.Durante esse período, você não deve chamar qualquer método que por sua vez pode bloquear e desbloquear por suas próprias razões (por exemplo, aquisição de um bloqueio).Chamadas para o Block e Unblock método não rastrear o motivo do bloqueio e desbloqueio.Apenas um objeto deve ter a propriedade de um Block e Unblock par.

Requisitos

Cabeçalho: concrt.h

Namespace: concorrência

Consulte também

Referência

Classe de contexto

Método de Context::Block

Conceitos

Agendador de tarefa (tempo de execução de simultaneidade)