getThreadPriority 函式 (processthreadsapi.h)
擷取指定線程的優先順序值。 這個值會與線程進程的優先順序類別一起決定線程的基底優先順序層級。
語法
int GetThreadPriority(
[in] HANDLE hThread
);
參數
[in] hThread
線程的句柄。
句柄必須具有 THREAD_QUERY_INFORMATION 或 THREAD_QUERY_LIMITED_INFORMATION 訪問許可權。 如需詳細資訊,請參閱 線程安全性和訪問許可權。
Windows Server 2003: 句柄必須具有 THREAD_QUERY_INFORMATION 訪問許可權。
傳回值
如果函式成功,則傳回值會是線程的優先順序層級。
如果函式失敗,傳回值會 THREAD_PRIORITY_ERROR_RETURN。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
Windows Phone 8.1:此函式一律會傳回THREAD_PRIORITY_NORMAL。
線程的優先順序層級是下列其中一個值。
傳回碼/值 | Description |
---|---|
|
優先順序類別上方的優先順序 1 點。 |
|
優先順序類別下方的優先順序 1 點。 |
|
優先順序 2 點高於優先順序類別。 |
|
IDLE_PRIORITY_CLASS、BELOW_NORMAL_PRIORITY_CLASS、NORMAL_PRIORITY_CLASS、ABOVE_NORMAL_PRIORITY_CLASS或HIGH_PRIORITY_CLASS進程的基底優先順序為 1,REALTIME_PRIORITY_CLASS進程的基底優先順序為 16。 |
|
優先順序 2 點低於優先順序類別。 |
|
優先順序類別的一般優先順序。 |
|
IDLE_PRIORITY_CLASS、BELOW_NORMAL_PRIORITY_CLASS、NORMAL_PRIORITY_CLASS、ABOVE_NORMAL_PRIORITY_CLASS或HIGH_PRIORITY_CLASS進程的基底優先順序層級為 15,REALTIME_PRIORITY_CLASS進程的基底優先順序層級為 31。 |
如果線程具有 REALTIME_PRIORITY_CLASS 基類,此函式也可以傳回下列其中一個值:-7、-6、-5、-4、-3、3、4、5 或 6。 如需詳細資訊,請參閱 排程優先順序。
備註
每個線程都有一個基底優先順序層級,由線程的優先順序值和其進程的優先順序類別所決定。 操作系統會使用所有可執行線程的基底優先順序層級來判斷哪個線程取得下一個 CPU 時間配量。 線程會以迴圈配置資源方式在每個優先順序層級排程,而且只有在較高層級沒有可執行線程時,才會在較低層級排程線程。
如需顯示優先順序類別和線程優先權值之每個組合基底優先順序層級的數據表,請參閱 SetPriorityClass 函式。
Windows 8.1和 Windows Server 2012 R2:Windows 市集應用程式支援此函式。
Windows Phone 8.1:Windows Phone Store 應用程式可能會呼叫此函式,但沒有任何作用。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | processthreadsapi.h (Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008 Windows Server 2008 R2) |
程式庫 | Kernel32.lib;Windows Phone 8.1 上的 WindowsPhoneCore.lib |
Dll | Kernel32.dll;Windows Phone 8.1 上的 KernelBase.dll |