优先级类别
在默认情况下,进程具有普通的优先级类别,大多数程序在其执行的声明周期内保持这个普通的优先级类别。尽管在本章的示例中没有改变优先级类别,但是为了完整起见,在此给出了线程优先级类别的简单概况。REALTIME_PRIORITY_CLASS
HIGH_PRIORITY_CLASS
ABOVE_NORMAL_PRIORITY_CLASS
NORMAL_PRIORITY_CLASS
BELOW_NORMAL_PRIORITY_CLASS
IDLE_PRIORITY_CLASS
在默认情况下,程序的优先级类别为NORMAL_PRIORITY_CLASS。通常,您不需要改变程序的优先级类别。事实上,改变进程的优先级类别对于整个计算机系统的性能会有负面的影响。例如,如果您将一个程序的优先级类别增加到REALTIME_PRIORITY_CLASS,它就会支配CPU。对于某些特殊的应用程序,可能需要增加应用程序的优先级类别,但通常并不需要。如前所述,本章的应用程序没有改变优先级类别。
当确实需要改变程序的优先级类别时,可以调用SetPriorityClass()。可以调用GetPriorityClass()来获取当前的优先级类别。这两个函数的原型如下:
DWORD GetPriorityClass(HANDLE hApp);
BOOL SetPriorityClass(HANDLE hApp, DWORD priority);
在此,hApp是进程的句柄。GetPriorityClass()返回应用程序的优先级类别,如果失败的话,返回0。对于SetPriorityClass(),priority指定了进程的新优先级类别。
| 欢迎光临 昊嘉社区 (http://bbs.hogacn.com/) | Powered by Discuz! X3.2 |