通过


IHostTask::SetPriority 方法

请求主机调整由当前 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 起可用

另见