Partilhar via


Interface de ICLRTask

Fornece métodos que permitem que o host para fazer solicitações de common language runtime (CLR) ou para fornecer uma notificação para o CLR sobre a tarefa associada.

Métodos

Método

Descrição

Método de ICLRTask::Abort

Solicitações que o CLR anular a tarefa que o atual ICLRTask representa a instância.

Método de ICLRTask::ExitTask

Notifica o CLR que associadas a tarefa atual ICLRTask instância está terminando e tenta desligar a tarefa normalmente.

Método de ICLRTask::GetMemStats

Obtém informações estatísticas sobre o uso dos recursos de memória por tarefa representada pela atual ICLRTask instância.

Método de ICLRTask::LocksHeld

Obtém o número de bloqueios atualmente mantidos na tarefa.

Método de ICLRTask::NeedsPriorityScheduling

Obtém um valor indicando se o host deve atribuir uma prioridade alta para reagendamento da tarefa representada pela atual ICLRTask instância.

Método de ICLRTask::Reset

Informa ao CLR que o host concluiu uma tarefa e permite que o CLR reutilizar o atual ICLRTask instância para representar outra tarefa.

Método de ICLRTask::RudeAbort

Faz com que o CLR anular a tarefa representada pela atual ICLRTask instância imediatamente, sem garantia de que os finalizadores serão executados.

Método de ICLRTask::SetTaskIdentifier

Define um identificador exclusivo para a tarefa representada pela atual ICLRTask instância, para uso na depuração.

Método de ICLRTask::SwitchIn

Notifica o CLR que a tarefa representada pelo atual ICLRTask instância está em estado operável.

Método de ICLRTask::SwitchOut

Notifica o CLR que a tarefa representada pelo atual ICLRTask instância não está mais em um estado operável.

Método de ICLRTask::YieldTask

Solicitações que o tempo de processador do CLR tornar disponível para outras tarefas. O CLR não dá nenhuma garantia de que a tarefa será colocada em um estado onde ele pode gerar o tempo de processamento.

Comentários

Um ICLRTask é a representação de uma tarefa para o CLR. Em qualquer momento durante a execução de código, uma tarefa pode ser descrita como executando ou aguardando para serem executados. As chamadas de host de ICLRTask::SwitchIn método para notificar o CLR que a tarefa que atual ICLRTask instância representa está agora no estado operável. Após uma chamada para ICLRTask::SwitchIn, o host pode agendar a tarefa em qualquer segmento do sistema operacional, exceto em casos onde o runtime requer a afinidade de segmento, conforme especificado por chamadas para o IHostTaskManager::BeginThreadAffinity e IHostTaskManager::EndThreadAffinity métodos. Algum tempo depois, o sistema operacional pode decidir remover a tarefa do thread e colocá-lo em um estado de execução não. Por exemplo, isso pode acontecer sempre que a tarefa bloqueia em primitivos de sincronização ou aguarda a conclusão das operações de i/O. As chamadas de host SwitchOut para notificar o CLR que a tarefa representada pelo atual ICLRTask instância não está mais em um estado operável.

Uma tarefa normalmente termina no final da execução de código. Nesse momento, o host chama ICLRTask::ExitTask para destruir os associados ICLRTask. No entanto, as tarefas também podem ser recicladas usando uma chamada para ICLRTask::Reset, que permite que o ICLRTask instância a ser usado novamente. Essa abordagem evita a sobrecarga de criação e destruição de instâncias de repetidamente.

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: MSCorEE.h

Biblioteca: Incluído como um recurso em mscoree

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface de ICLRTaskManager

Interface de IHostTask

Interface de IHostTaskManager

Interface de ICLRTask2

Outros recursos

Interfaces de hospedagem.