请求主机调整由当前 IHostTask 实例表示的任务的线程优先级。
Syntax
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 起可用