GetPriorityClass

【勇芳软件工作室】汉化HomePreviousNext

GetPriorityClass函数返回指定进程的优先级。该值与进程每个线程的优先级值一起确定每个线程的基本优先级。

DWORD GetPriorityClass(

HANDLE 【hProcess】//处理进程
); 

参数

【hProcess】

标识过程。

Windows NT:句柄必须具有PROCESS_QUERY_INFORMATION权限。有关详细信息,请参阅过程对象.

返回值

如果函数成功,则返回值是指定进程的优先级。

如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.

进程的优先级是以下值之一:

优先含义
HIGH_PRIORITY_CLASS表示执行必须立即执行以执行正确运行的时间关键任务的进程。高优先级类进程的线程抢占正常或空闲优先级进程的线程。一个例子是Windows任务列表,无论操作系统上的负载如何,Windows任务列表在用户调用时都必须快速响应。使用高优先级类时要格外小心,因为高优先级的CPU绑定应用程序可以使用几乎所有可用的周期。
IDLE_PRIORITY_CLASS表示一个进程,其线程仅在系统空闲时运行,并被任何在较高优先级类中运行的进程的线程抢占。一个例子是屏幕保护程序。空闲优先级类由子进程继承。
NORMAL_PRIORITY_CLASS表示没有特殊调度需要的正常进程。
REALTIME_PRIORITY_CLASS表示具有最高可能优先级的进程。实时优先级进程的线程抢占所有其他进程的线程,包括执行重要任务的操作系统进程。例如,执行超过非常短的间隔的实时进程可能导致磁盘缓存不会刷新或导致鼠标无响应。

备注

每个线程都具有由线程的优先级值及其进程的优先级等级确定的基本优先级。操作系统使用所有可执行线程的基本优先级来确定哪个线程获得下一个CPU时间片。线程在每个优先级别以循环方式安排,只有在较高级别没有可执行线程时才会进行较低级别的线程调度。

对于显示优先级和线程优先级值的每个组合的基本优先级的表,请参阅SetPriorityClass功能。

也可以看看

GetThreadPriority, SetPriorityClass, SetThreadPriority