Funzione SetThreadIdealProcessor (processthreadsapi.h)
Imposta un processore preferito per un thread. Il sistema pianifica i thread nei processori preferiti quando 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 è 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 è in base 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 non riesce, il valore restituito è (DWORD) - 1. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
È possibile utilizzare 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 intero per rappresentare il processore.
A partire da Windows 11 e Windows Server 2022, in un sistema con più di 64 processori, affinità tra processi e 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 versione successiva. 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
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 (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |
Vedere anche
Commenti e suggerimenti
Invia e visualizza il feedback per