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 |
---|---|
O CLR anular a tarefa de solicitações que o corrente ICLRTask representa a instância. |
|
Notifica o CLR que a tarefa associada a corrente ICLRTask instância está terminando e tenta desligar a tarefa normalmente. |
|
Obtém informações estatísticas sobre o uso dos recursos de memória por tarefa representada pelo corrente ICLRTask instância. |
|
Obtém o número de bloqueios atualmente mantidos na tarefa. |
|
Obtém um valor que indica se o host deve atribuir uma prioridade alta a reprogramação tarefa representada pelo corrente ICLRTask instância. |
|
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. |
|
Faz com que o CLR anular a tarefa representada pelo corrente ICLRTask instância imediatamente, sem a garantia de finalizadores serão executados. |
|
Define um identificador exclusivo da tarefa representada pelo corrente ICLRTask instância, para uso na depuração. |
|
Notifica o CLR que a tarefa representado pela corrente ICLRTask instância está em um estado opera. |
|
Notifica o CLR que a tarefa representado pela corrente ICLRTask instância não está mais em um estado opera. |
|
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