getThreadPriority 函数 (processthreadsapi.h)
检索指定线程的优先级值。 此值与线程进程的优先级类一起确定线程的基本优先级级别。
语法
int GetThreadPriority(
[in] HANDLE hThread
);
参数
[in] hThread
线程的句柄。
句柄必须具有 THREAD_QUERY_INFORMATION 或 THREAD_QUERY_LIMITED_INFORMATION 访问权限。 有关详细信息,请参阅 线程安全和访问权限。
Windows Server 2003: 句柄必须具有 THREAD_QUERY_INFORMATION 访问权限。
返回值
如果函数成功,则返回值为线程的优先级。
如果函数失败,则 返回值THREAD_PRIORITY_ERROR_RETURN。 要获得更多的错误信息,请调用 GetLastError。
Windows Phone 8.1:此函数将始终返回THREAD_PRIORITY_NORMAL。
线程的优先级是以下值之一。
返回代码/值 | 说明 |
---|---|
|
优先级高于优先级类 1 磅。 |
|
优先级低于优先级类 1 磅。 |
|
优先级高于优先级类 2 磅。 |
|
IDLE_PRIORITY_CLASS、BELOW_NORMAL_PRIORITY_CLASS、NORMAL_PRIORITY_CLASS、ABOVE_NORMAL_PRIORITY_CLASS或HIGH_PRIORITY_CLASS进程的基本优先级为 1,REALTIME_PRIORITY_CLASS进程的基本优先级为 16。 |
|
优先级低于优先级类 2 磅。 |
|
优先级类的正常优先级。 |
|
对于IDLE_PRIORITY_CLASS、BELOW_NORMAL_PRIORITY_CLASS、NORMAL_PRIORITY_CLASS、ABOVE_NORMAL_PRIORITY_CLASS或HIGH_PRIORITY_CLASS进程,基本优先级级别为 15,REALTIME_PRIORITY_CLASS进程的基本优先级级别为 31。 |
如果线程具有 REALTIME_PRIORITY_CLASS 基类,此函数还可以返回以下值之一:-7、-6、-5、-4、-3、3、4、5 或 6。 有关详细信息,请参阅 计划优先级。
注解
每个线程都有一个基本优先级级别,由线程的优先级值及其进程的优先级类确定。 操作系统使用所有可执行线程的基优先级级别来确定哪个线程获取下一段 CPU 时间。 线程在每个优先级级别以轮循机制方式进行计划,只有在较高级别没有可执行线程时,才会在较低级别调度线程。
有关显示优先级类和线程优先级值的每种组合的基本优先级的表,请参阅 SetPriorityClass 函数。
Windows 8.1和Windows Server 2012 R2:Windows 应用商店应用支持此函数。
Windows Phone 8.1:Windows Phone 应用商店应用可以调用此函数,但它不起作用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | processthreadsapi.h (包括 Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008 Windows Server 2008 R2) |
Library | Kernel32.lib;Windows Phone 8.1 上的 WindowsPhoneCore.lib |
DLL | Kernel32.dll;Windows Phone 8.1 上的 KernelBase.dll |