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 |
---|---|
|
Prioridade 1 ponto acima da classe de prioridade. |
|
Prioridade 1 ponto abaixo da classe de prioridade. |
|
Prioridade 2 pontos acima da classe de prioridade. |
|
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 . |
|
Prioridade 2 pontos abaixo da classe de prioridade. |
|
Prioridade normal para a classe de prioridade. |
|
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 |