SetThreadIdealProcessorEx 函数 (processthreadsapi.h)

设置指定线程的理想处理器,并选择性地检索上一个理想处理器。

语法

BOOL SetThreadIdealProcessorEx(
  [in]            HANDLE            hThread,
  [in]            PPROCESSOR_NUMBER lpIdealProcessor,
  [out, optional] PPROCESSOR_NUMBER lpPreviousIdealProcessor
);

参数

[in] hThread

要为其设置理想处理器的线程的句柄。 此句柄必须是使用THREAD_SET_INFORMATION访问权限创建的。 有关详细信息,请参阅 线程安全和访问权限

[in] lpIdealProcessor

指向 PROCESSOR_NUMBER 结构的指针,该结构指定所需理想处理器的处理器编号。

[out, optional] lpPreviousIdealProcessor

指向 PROCESSOR_NUMBER 结构的指针,用于接收以前的理想处理器。 此参数可以指向 与 lpIdealProcessor 参数相同的内存位置。 如果不需要以前的理想处理器,此参数可以为 NULL。

返回值

如果函数成功,则返回非零值。

如果函数失败,则返回零。 若要获取扩展错误信息,请使用 GetLastError

注解

指定线程理想处理器可向计划程序提供有关线程的首选处理器的提示。 如果可能,计划程序在线程的理想处理器上运行线程。

从 Windows 11 和 Windows Server 2022 开始,在处理器数超过 64 的系统上,默认情况下,进程和线程相关性跨所有处理器组跨系统中的所有处理器。 SetThreadIdealProcessorEx 在设置首选处理器时,还会将线程的主组设置为首选处理器的组。

若要编译使用此函数的应用程序,请将 _WIN32_WINNT >= 0x0601。 有关详细信息,请参阅 使用 Windows 标头

Windows Phone 8.1:Windows Phone 8.1 及更高版本上的 Windows Phone 应用商店应用支持此函数。

Windows 8.1Windows Server 2012 R2:Windows 8.1、Windows Server 2012 R2 及更高版本的 Windows 应用商店应用支持此函数。

要求

要求
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 processthreadsapi.h (包括 Windows.h)
Library Kernel32.lib;Windows Phone 8.1 上的 WindowsPhoneCore.lib
DLL Kernel32.dll;Windows Phone 8.1 上的 KernelBase.dll

另请参阅

GetThreadIdealProcessorEx

SetThreadIdealProcessor