SetThreadIdealProcessor 函式 (processthreadsapi.h)
設定線程的慣用處理器。 系統會盡可能排程其慣用處理器上的線程。
在超過 64 個處理器的系統上,此函式會將慣用處理器設定為指派呼叫線程之 處理器群組 中的邏輯處理器。 使用 SetThreadIdealProcessorEx 函式來指定處理器群組和慣用處理器。
語法
DWORD SetThreadIdealProcessor(
[in] HANDLE hThread,
[in] DWORD dwIdealProcessor
);
參數
[in] hThread
要設定慣用處理器之線程的句柄。 句柄必須具有THREAD_SET_INFORMATION訪問許可權。 如需詳細資訊,請參閱 線程安全性和訪問許可權。
[in] dwIdealProcessor
線程慣用處理器的數目。 此值是以零起始。 如果此參數MAXIMUM_PROCESSORS,函式會傳回目前的理想處理器,而不需加以變更。
傳回值
如果函式成功,則傳回值是先前慣用的處理器。
如果函式失敗,傳回值會 (DWORD) – 1。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
您可以使用 GetSystemInfo 函式來判斷電腦上的處理器數目。 您也可以使用 GetProcessAffinityMask 函式來檢查允許線程執行的處理器。 請注意, GetProcessAffinityMask 會傳回位掩碼, 而 SetThreadIdealProcessor 會使用整數值來代表處理器。
從 Windows 11 和 Windows Server 2022 開始,在具有超過 64 個處理器的系統上,進程和線程親和性預設會跨越系統中所有處理器群組。 SetThreadIdealProcessor 函式會將慣用處理器設定為線程主要群組中的邏輯處理器。
若要編譯使用此函式的應用程式,請將_WIN32_WINNT定義為0x0400或更新版本。 如需詳細資訊,請參閱 使用 Windows 標頭。
Windows 8.1 和 Windows Server 2012 R2:Windows 8.1、Windows Server 2012 R2 及更新版本上的 Windows 市集應用程式支援此函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | processthreadsapi.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |