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 | 阻塞的线程或纤程正在等待某一事件,而该事件已被取消。 |
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 平台文档。
要求
平台:请参阅系统要求。
标头:MSCorEE.h
库:作为资源包含在 MSCorEE.dll 中
.NET Framework 版本:自 2.0 起可用