Compartilhar via


Método IHostTask::SetPriority

Solicita que o host ajuste o nível de prioridade do thread para a tarefa representada pela instância IHostTask atual.

Sintaxe

HRESULT SetPriority (  
    [in] int newPriority  
);  

Parâmetros

newPriority
[in] Um inteiro que representa o valor de prioridade de thread solicitado para a tarefa representada pela instância IHostTask atual.

Valor Retornado

HRESULT Descrição
S_OK SetPriority retornado com êxito.
HOST_E_CLRNOTAVAILABLE O CLR (Common Language Runtime) não foi carregado em um processo ou está em um estado no qual não pode executar o código gerenciado ou processar a chamada com sucesso.
HOST_E_TIMEOUT Uma chamada atingiu o tempo limite.
HOST_E_NOT_OWNER O chamador não possui o bloqueio.
HOST_E_ABANDONED Um evento foi cancelado enquanto uma fibra ou um thread bloqueado estava esperando por ele.
E_FAIL Uma falha catastrófica desconhecida ocorreu. Quando um método retorna E_FAIL, o CLR não pode mais ser usado no processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE.

Comentários

Os threads recebem tempo de processamento usando um sistema round-robin que é parcialmente baseado no nível de prioridade de um thread. SetPriority permite que o CLR defina esse nível de prioridade de thread para a tarefa atual. Os valores newPriority a seguir têm suporte.

  • THREAD_PRIORITY_ABOVE_NORMAL

  • THREAD_PRIORITY_BELOW_NORMAL

  • THREAD_PRIORITY_HIGHEST

  • THREAD_PRIORITY_IDLE

  • THREAD_PRIORITY_LOWEST

  • THREAD_PRIORITY_NORMAL

  • THREAD_PRIORITY_TIME_CRITICAL

O CLR chama SetPriority quando o valor de Thread.Priority é modificado pelo código do usuário. Um host pode definir os próprios algoritmos para atribuição de prioridade de thread e é livre para ignorar essa solicitação.

Observação

SetPriority não relata se o nível de prioridade de thread foi alterado. Chame IHostTask::GetPriority para determinar o valor do nível de prioridade de thread da tarefa.

Os valores de nível de prioridade de thread são definidos pela função SetThreadPriority do Win32. Para saber mais sobre a prioridade de thread, confira a documentação da Plataforma Windows.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: MSCorEE.h

Biblioteca: incluída como um recurso no MSCorEE.dll

Versões do .NET Framework: disponíveis desde 2.0

Confira também