Compartilhar via


Função GetThreadPriority (processthreadsapi.h)

Recupera o valor de prioridade para o thread especificado. Esse valor, juntamente com a classe de prioridade do processo do thread, determina o nível de prioridade base do thread.

Sintaxe

int GetThreadPriority(
  [in] HANDLE hThread
);

Parâmetros

[in] hThread

Um identificador para o thread.

O identificador deve ter o direito de acesso THREAD_QUERY_INFORMATION ou THREAD_QUERY_LIMITED_INFORMATION . Para obter mais informações, consulte Segurança de thread e direitos de acesso.

Windows Server 2003: O identificador deve ter o direito de acesso THREAD_QUERY_INFORMATION .

Retornar valor

Se a função for bem-sucedida, o valor retornado será o nível de prioridade do thread.

Se a função falhar, o valor retornado será THREAD_PRIORITY_ERROR_RETURN. Para obter informações de erro estendidas, chame GetLastError.

Windows Phone 8.1: essa função sempre retornará THREAD_PRIORITY_NORMAL.

O nível de prioridade do thread é um dos valores a seguir.

Valor/código retornado Descrição
THREAD_PRIORITY_ABOVE_NORMAL
1
Prioridade 1 ponto acima da classe de prioridade.
THREAD_PRIORITY_BELOW_NORMAL
-1
Prioridade 1 ponto abaixo da classe de prioridade.
THREAD_PRIORITY_HIGHEST
2
Prioridade 2 pontos acima da classe de prioridade.
THREAD_PRIORITY_IDLE
-15
Prioridade base de 1 para processos de IDLE_PRIORITY_CLASS, BELOW_NORMAL_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASS ou HIGH_PRIORITY_CLASS e uma prioridade base de 16 para processos de REALTIME_PRIORITY_CLASS .
THREAD_PRIORITY_LOWEST
-2
Prioridade 2 pontos abaixo da classe de prioridade.
THREAD_PRIORITY_NORMAL
0
Prioridade normal para a classe de prioridade.
THREAD_PRIORITY_TIME_CRITICAL
15
Nível de prioridade base de 15 para processos de IDLE_PRIORITY_CLASS, BELOW_NORMAL_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASS ou HIGH_PRIORITY_CLASS e um nível de prioridade base de 31 para processos de REALTIME_PRIORITY_CLASS .
 

Se o thread tiver a classe base REALTIME_PRIORITY_CLASS , essa função também poderá retornar um dos seguintes valores: -7, -6, -5, -4, -3, 3, 4, 5 ou 6. Para obter mais informações, consulte Agendando prioridades.

Comentários

Cada thread tem um nível de prioridade base determinado pelo valor de prioridade do thread e pela classe de prioridade de seu processo. O sistema operacional usa o nível de prioridade base de todos os threads executáveis para determinar qual thread obtém a próxima fatia de tempo de CPU. Os threads são agendados de maneira round robin em cada nível de prioridade e somente quando não houver threads executáveis em um nível mais alto o agendamento de threads em um nível inferior ocorrerá.

Para uma tabela que mostra os níveis de prioridade base para cada combinação de classe de prioridade e valor de prioridade de thread, consulte a função SetPriorityClass .

Windows 8.1 e Windows Server 2012 R2: essa função tem suporte para aplicativos da Windows Store.

Windows Phone aplicativos da Loja 8.1:Windows Phone podem chamar essa função, mas ela não tem efeito.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho processthreadsapi.h (inclua Windows.h no Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Biblioteca Kernel32.lib; WindowsPhoneCore.lib no Windows Phone 8.1
DLL Kernel32.dll; KernelBase.dll no Windows Phone 8.1

Confira também

GetPriorityClass

OpenThread

Funções de thread e processo

Prioridades de agendamento

SetPriorityClass

SetThreadPriority

Threads