Partilhar via


Interface ICLRTask

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

interface ICLRTask : IUnknown {
    HRESULT Abort ();
    HRESULT ExitTask ();
    HRESULT GetMemStats (
        [out] COR_GC_THREAD_STATS *pMemUsage
    );
    HRESULT LocksHeld (
        [out] SIZE_T *pLockCount
    );
    HRESULT NeedsPriorityScheduling (
        [out] BOOL *pbNeedsPriorityScheduling
    );
    HRESULT Reset (
        [in] BOOL fFull
    );
    HRESULT RudeAbort ();
    HRESULT SetTaskIdentifier (
        [in] DWORD asked
    );
    HRESULT SwitchIn (
        [in] HANDLE threadHandle
    );
    HRESULT SwitchOut ();
    HRESULT YieldTask ();
}

Métodos

Método

Descrição

Método ICLRTask::Abort

O CLR anular a tarefa de solicitações que o corrente ICLRTask representa a instância.

Método ICLRTask::ExitTask

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

Método ICLRTask::GetMemStats

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

Método ICLRTask::LocksHeld

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

Método ICLRTask::NeedsPriorityScheduling

Obtém um valor que indica se o host deve atribuir uma prioridade alta a reprogramação tarefa representada pelo corrente ICLRTask instância.

Método ICLRTask::reiniciar

Informa ao CLR que o host foi concluída uma tarefa e permite que o CLR reutilizar o corrente ICLRTask instância de representar outra tarefa.

Método ICLRTask::RudeAbort

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

Método ICLRTask::SetTaskIdentifier

Define um identificador exclusivo da tarefa representada pelo corrente ICLRTask instância, para uso na depuração.

Método ICLRTask::SwitchIn

Notifica o CLR que a tarefa representado pela corrente ICLRTask instância está em um estado opera.

Método ICLRTask::SwitchOut

Notifica o CLR que a tarefa representado pela corrente ICLRTask instância não está mais em um estado opera.

Método ICLRTask::YieldTask

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

Comentários

An ICLRTask é a representação de uma tarefa para o CLR. A qualquer momento durante a execução do código, uma tarefa pode ser descrita sistema autônomo executando ou aguardando para serem executados. O host chama o ICLRTask::SwitchIn método para notificar o CLR que a tarefa que a corrente ICLRTask instância representa agora está em um estado opera. Após uma telefonar para ICLRTask::SwitchIn, o host pode agendar tsistema autônomok em qualquer segmento do sistema operacional, exceto em csistema autônomoes onde o tempo de execução requer afinidade de thread, sistema autônomo especificado por telefonars para o IHostTsistema autônomokManager::BeginThreadAffinity and IHostTsistema autônomokManager::EndThreadAffinity métodos. Algum time depois, o sistema operacional pode optar por remover a tarefa do thread e coloque-o 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 E/s. O host chama SwitchOut para notificar o CLR que a tarefa representada pelo corrente ICLRTask instância não está mais em um estado opera.

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

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: MSCorEE.idl

Biblioteca: Incluído sistema autônomo um recurso em MSCorEE.dll

.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface ICLRTaskManager

Interface IHostTask

Interface IHostTaskManager

Outros recursos

Interfaces de hospedagem