GetThreadPriority函数返回指定线程的优先级值。该值与线程进程的优先级类一起确定线程的基本优先级。
int GetThreadPriority(
HANDLE 【hThread】 | //处理线程 |
); |
参数
【hThread】
标识线程。
Windows NT:句柄必须具有THREAD_QUERY_INFORMATION权限。有关详细信息,请参阅线程对象.
返回值
如果函数成功,则返回值是线程的优先级。
如果函数失败,返回值为THREAD_PRIORITY_ERROR_RETURN。要获取扩展错误信息,请调用GetLastError.
线程的优先级是以下值之一:
优先 | 含义 | ||||
THREAD_PRIORITY_ABOVE_NORMAL | |||||
表示优先级高于正常优先级1点。 | |||||
THREAD_PRIORITY_BELOW_NORMAL | |||||
表示优先级不超过正常优先级的1分。 | |||||
THREAD_PRIORITY_HIGHEST | |||||
表示优先级高于正常优先级的2分。 | |||||
THREAD_PRIORITY_IDLE | |||||
表示IDLE_PRIORITY_CLASS,NORMAL_PRIORITY_CLASS或HIGH_PRIORITY_CLASS进程的基本优先级为1,REALTIME_PRIORITY_CLASS进程的基本优先级为16。 | |||||
THREAD_PRIORITY_LOWEST | |||||
表示优先级低于正常优先级的2分。 | |||||
THREAD_PRIORITY_NORMAL | |||||
表示优先级的正常优先级。 | |||||
THREAD_PRIORITY_TIME_CRITICAL | |||||
表示IDLE_PRIORITY_CLASS,NORMAL_PRIORITY_CLASS或HIGH_PRIORITY_CLASS进程的基本优先级为15,REALTIME_PRIORITY_CLASS进程的基本优先级为31。 |
备注
每个线程具有由线程的优先级值和其进程的优先级等级确定的基本优先级。操作系统使用所有可执行线程的基本优先级来确定哪个线程获得下一个CPU时间片。线程在每个优先级别以循环方式安排,只有在较高级别没有可执行线程时才会进行较低级别的线程调度。
对于显示优先级和线程优先级值的每个组合的基本优先级的表,请参考SetPriorityClass函数。
也可以看看