共用方式為


IHostTask::SetPriority 方法

要求主應用程式調整目前的 IHostTask 執行個體所表示之工作的執行緒優先權層級。

HRESULT SetPriority (
    [in] int newPriority
);

參數

  • newPriority
    [in] 整數,表示目前的 IHostTask 執行個體所表示的工作之要求的執行緒優先權值。

傳回值

HRESULT

描述

S_OK

SetPriority 已成功傳回。

HOST_E_CLRNOTAVAILABLE

Common Language Runtime (CLR) 尚未載入至處理序中,或者此 CLR 目前的狀態無法執行 Managed 程式碼或成功處理呼叫。

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

當使用者程式碼修改 Thread.Priority 的值時,CLR 會呼叫 SetPriority。 主應用程式可定義它自己的演算法來指派執行緒優先權,而且可以自由地忽略這個要求。

注意事項注意事項

SetPriority 並不會報告是否已變更執行緒優先權層級。請呼叫 IHostTask::GetPriority,以判斷工作之執行緒之優先權層級的值。

執行緒優先權層級的值是由 Win32 SetThreadPriority 函式所定義。 如需執行緒優先權的詳細資訊,請參閱 Windows Platform 文件。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**MSCorEE.h

程式庫:包含做為 MSCorEE.dll 中的資源

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

請參閱

參考

ICLRTask 介面

ICLRTaskManager 介面

IHostTask 介面

IHostTask::GetPriority 方法

IHostTaskManager 介面

Thread