Condividi tramite


Funzione GetThreadPriority (processthreadsapi.h)

Recupera il valore di priorità per il thread specificato. Questo valore, insieme alla classe priorità del processo del thread, determina il livello di priorità base del thread.

Sintassi

int GetThreadPriority(
  [in] HANDLE hThread
);

Parametri

[in] hThread

Handle per il thread.

L'handle deve avere il diritto di accesso THREAD_QUERY_INFORMATION o THREAD_QUERY_LIMITED_INFORMATION . Per altre informazioni, vedere Thread Security and Access Rights.For more information, see Thread Security and Access Rights.

Windows Server 2003: L'handle deve avere il diritto di accesso THREAD_QUERY_INFORMATION .

Valore restituito

Se la funzione ha esito positivo, il valore restituito è il livello di priorità del thread.

Se la funzione ha esito negativo, il valore restituito è THREAD_PRIORITY_ERROR_RETURN. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Windows Phone 8.1: questa funzione restituirà sempre THREAD_PRIORITY_NORMAL.

Il livello di priorità del thread è uno dei valori seguenti.

Codice/valore restituito Descrizione
THREAD_PRIORITY_ABOVE_NORMAL
1
Priorità 1 punto sopra la classe priorità.
THREAD_PRIORITY_BELOW_NORMAL
-1
Priorità 1 punto sotto la classe priorità.
THREAD_PRIORITY_HIGHEST
2
Priorità 2 punti sopra la classe di priorità.
THREAD_PRIORITY_IDLE
-15
Priorità di base di 1 per iprocessidi IDLE_PRIORITY_CLASS, BELOW_NORMAL_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASS o HIGH_PRIORITY_CLASS e una priorità di base di 16 per i processi REALTIME_PRIORITY_CLASS.
THREAD_PRIORITY_LOWEST
-2
Priorità 2 punti al di sotto della classe di priorità.
THREAD_PRIORITY_NORMAL
0
Priorità normale per la classe priorità.
THREAD_PRIORITY_TIME_CRITICAL
15
Livello di priorità base pari a 15 per IDLE_PRIORITY_CLASS, BELOW_NORMAL_PRIORITY_CLASS,NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASSo processi di HIGH_PRIORITY_CLASS e un livello di priorità base pari a 31 per i processi REALTIME_PRIORITY_CLASS.
 

Se il thread ha la classe di base REALTIME_PRIORITY_CLASS , questa funzione può restituire anche uno dei valori seguenti: -7, -6, -5, -4, -3, 3, 4, 5 o 6. Per altre informazioni, vedere Pianificazione delle priorità.

Commenti

Ogni thread ha un livello di priorità base determinato dal valore di priorità del thread e dalla classe priorità del processo. Il sistema operativo usa il livello di priorità di base di tutti i thread eseguibili per determinare quale thread ottiene la sezione successiva del tempo di CPU. I thread sono pianificati in modo round robin a ogni livello di priorità e solo quando non sono presenti thread eseguibili a un livello superiore pianificano la pianificazione dei thread a un livello inferiore.

Per una tabella che mostra i livelli di priorità di base per ogni combinazione di valore di priorità e priorità thread, fare riferimento alla funzione SetPriorityClass .

Windows 8.1 e Windows Server 2012 R2: questa funzione è supportata per le app di Windows Store.

Windows Phone app 8.1:Windows Phone Store può chiamare questa funzione, ma non ha alcun effetto.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione processthreadsapi.h (includere Windows.h in Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Libreria Kernel32.lib; WindowsPhoneCore.lib in Windows Phone 8.1
DLL Kernel32.dll; KernelBase.dll Windows Phone 8.1

Vedi anche

GetPriorityClass

OpenThread

Funzioni di processi e thread

Priorità di pianificazione

SetPriorityClass

SetThreadPriority

Thread