Função SetThreadIdealProcessor (processthreadsapi.h)
Define um processador preferencial para um thread. O sistema agenda threads em seus processadores preferenciais sempre que possível.
Em um sistema com mais de 64 processadores, essa função define o processador preferencial como um processador lógico no grupo de processadores ao qual o thread de chamada é atribuído. Use a função SetThreadIdealProcessorEx para especificar um grupo de processadores e um processador preferencial.
Sintaxe
DWORD SetThreadIdealProcessor(
[in] HANDLE hThread,
[in] DWORD dwIdealProcessor
);
Parâmetros
[in] hThread
Um identificador para o thread cujo processador preferencial deve ser definido. O identificador deve ter o acesso de THREAD_SET_INFORMATION correto. Para obter mais informações, consulte Segurança de thread e direitos de acesso.
[in] dwIdealProcessor
O número do processador preferencial para o thread. Esse valor é baseado em zero. Se esse parâmetro for MAXIMUM_PROCESSORS, a função retornará o processador ideal atual sem alterá-lo.
Retornar valor
Se a função for bem-sucedida, o valor retornado será o processador preferencial anterior.
Se a função falhar, o valor retornado será (DWORD) – 1. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Você pode usar a função GetSystemInfo para determinar o número de processadores no computador. Você também pode usar a função GetProcessAffinityMask para marcar os processadores nos quais o thread tem permissão para ser executado. Observe que GetProcessAffinityMask retorna uma máscara de bits, enquanto SetThreadIdealProcessor usa um valor inteiro para representar o processador.
A partir do Windows 11 e do Windows Server 2022, em um sistema com mais de 64 processadores, as afinidades de processo e thread abrangem todos os processadores do sistema, em todos os grupos de processadores, por padrão. A função SetThreadIdealProcessor define o processador preferencial como um processador lógico no grupo primário do thread.
Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0400 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.
Windows 8.1 e Windows Server 2012 R2: essa função tem suporte para aplicativos da Windows Store em Windows 8.1, Windows Server 2012 R2 e posteriores.
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) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |