Funzione SetThreadIdealProcessor (processthreadsapi.h)
Imposta un processore preferito per un thread. I thread di sistema pianificano i thread nei processori preferiti ogni volta che è possibile.
In un sistema con più di 64 processori, questa funzione imposta il processore preferito su un processore logico nel gruppo di processori a cui viene assegnato il thread chiamante. Usare la funzione SetThreadIdealProcessorEx per specificare un gruppo di processori e un processore preferito.
Sintassi
DWORD SetThreadIdealProcessor(
[in] HANDLE hThread,
[in] DWORD dwIdealProcessor
);
Parametri
[in] hThread
Handle per il thread il cui processore preferito deve essere impostato. L'handle deve avere il diritto di accesso THREAD_SET_INFORMATION. Per altre informazioni, vedere Thread Security and Access Rights.For more information, see Thread Security and Access Rights.
[in] dwIdealProcessor
Numero del processore preferito per il thread. Questo valore è basato su zero. Se questo parametro è MAXIMUM_PROCESSORS, la funzione restituisce il processore ideale corrente senza modificarlo.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è il processore preferito precedente.
Se la funzione ha esito negativo, il valore restituito è (DWORD) - 1. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
È possibile usare la funzione GetSystemInfo per determinare il numero di processori nel computer. È anche possibile usare la funzione GetProcessAffinityMask per controllare i processori in cui è consentito eseguire il thread. Si noti che GetProcessAffinityMask restituisce una maschera di bit mentre SetThreadIdealProcessor usa un valore integer per rappresentare il processore.
A partire da Windows 11 e Windows Server 2022, in un sistema con più di 64 processori, processi e affinità di thread si estendono su tutti i processori nel sistema, in tutti i gruppi di processori, per impostazione predefinita. La funzione SetThreadIdealProcessor imposta il processore preferito su un processore logico nel gruppo primario del thread.
Per compilare un'applicazione che usa questa funzione, definire _WIN32_WINNT come 0x0400 o versioni successive. Per altre informazioni, vedere Uso delle intestazioni di Windows.
Windows 8.1 e Windows Server 2012 R2: questa funzione è supportata per le app di Windows Store in Windows 8.1, Windows Server 2012 R2 e versioni successive.
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) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |