IHostTask::SetPriority 方法
要求主機調整目前 IHostTask 執行個體所代表工作的執行緒優先順序層級。
語法
HRESULT SetPriority (
[in] int newPriority
);
參數
newPriority
[in] 整數,代表針對目前 IHostTask
執行個體所代表之工作所要求的執行緒優先順序值。
傳回值
HRESULT | 描述 |
---|---|
S_OK | SetPriority 已成功傳回。 |
HOST_E_CLRNOTAVAILABLE | 通用語言執行平台 (CLR) 尚未載入處理序,或 CLR 處於無法成功執行受控程式碼或處理呼叫的狀態。 |
HOST_E_TIMEOUT | 呼叫逾時。 |
HOST_E_NOT_OWNER | 呼叫端未擁有鎖定。 |
HOST_E_ABANDONED | 封鎖的執行緒或 Fiber 在其上等候時,事件遭到取消。 |
E_FAIL | 發生未知的重大失敗。 如果方法傳回 E_FAIL,則 CLR 就無法再用於處理序。 後續對裝載方法發出的呼叫會傳回 HOST_E_CLRNOTAVAILABLE。 |
備註
執行緒會透過循環配置資源系統獲得處理時間,此系統有一部分是以執行緒的優先順序層級為基礎。 SetPriority
可讓 CLR 針對目前的工作設定該執行緒優先順序層級。 支援下列 newPriority
值。
THREAD_PRIORITY_ABOVE_NORMAL
THREAD_PRIORITY_BELOW_NORMAL
THREAD_PRIORITY_HIGHEST
THREAD_PRIORITY_IDLE
THREAD_PRIORITY_LOWEST
THREAD_PRIORITY_NORMAL
THREAD_PRIORITY_TIME_CRITICAL
CLR 會在使用者程式碼修改 Thread.Priority 的值時呼叫 SetPriority
。 主機可以定義自己的演算法來指派執行緒優先順序,並可自由忽略此要求。
注意
SetPriority
不會報告執行緒優先順序層級是否有變更。 請呼叫 IHostTask::GetPriority 以判斷工作執行緒優先順序層級的值。
執行緒優先順序層級值會由 Win32 SetThreadPriority
函式加以定義。 如需執行緒優先順序的詳細資訊,請參閱 Windows 平台文件。
規格需求
平台:請參閱系統需求。
標題: MSCorEE.h
程式庫:包含作為 MSCorEE.dll 中的資源
.NET Framework版本:自 2.0 起提供