mfc 进程的优先级

知识点:
    进程优先级
    获取当前进程句柄
    优先级设置
    优先级变动
    优先级获取
       
一、进程优先级(优先级等级)

    简单的说就是进程(线程)的优先级越高,那么就可以分占相对多的CPU时间片。   每个进程都有相应的优先级,优先级决定它何时运行和占用 CPU 时间。最终的优先级共分32级,是从 031 的数值,称为基本优先级别。

  (priority class)优先级等级,这里我叫它进程优先级。因为一般来说它是在调用CreateProcess时指定的,CreateProcess中dwCreationFlags就可以指定进程的优先级。而线程创建时会继承进程的优先等级。
    因为线程才是CPU时间分配的最小单位,所以部分书上也叫线程优先等级。
 


进程优先级 priority class    标志    优先级值
idle     (低)    IDLE_PRIORITY_CLASS    4
Below     低于标准    BELOW_NORMAL_PRIORITY_CLASS    此值在2000以下系统不支持
normal  (标准)    NORMAL_PRIORITY_CLASS    9(前台) 或 7(后台)
Above     高于标准    ABOVE_NORMAL_PRIORITY_CLASS    此值在2000以下系统不支持
high      (高)    HIGH_PRIORITY_CLASS    13
realtime (实时)    REALTIME_PRIORITY_CLASS    24
#define NORMAL_PRIORITY_CLASS             0x00000020
#define IDLE_PRIORITY_CLASS                 0x00000040
#define HIGH_PRIORITY_CLASS                 0x00000080
#define REALTIME_PRIORITY_CLASS            0x00000100    

//2000及XP以上版本支持以下 优先级等级
#define BELOW_NORMAL_PRIORITY_CLASS       0x00004000
#define ABOVE_NORMAL_PRIORITY_CLASS       0x00008000
  
二、获取当前进程句柄
    GetCurrentProcess
三、进程优先级的设置
    CreateProcess    创建进程时 也可以设置 进程优先级
SetPriorityClass  设置进程优先级
GetPriorityClass   获取进程优先级
SetProcessPriorityBoost  设置  激活或停用进程优先级提高功能
GetProcessPriorityBoost   获取 是否 激活进程优先级提高功能

  void CDialog_PROCESS::OnBnClickedRadio1()
{
    SetPriorityClass(GetCurrentProcess(),IDLE_PRIORITY_CLASS);
}

void CDialog_PROCESS::OnBnClickedRadio2()
{
    SetPriorityClass(GetCurrentProcess(),BELOW_NORMAL_PRIORITY_CLASS);
}

void CDialog_PROCESS::OnBnClickedRadio3()
{
    SetPriorityClass(GetCurrentProcess(),NORMAL_PRIORITY_CLASS);
}

void CDialog_PROCESS::OnBnClickedRadio4()
{
    SetPriorityClass(GetCurrentProcess(),ABOVE_NORMAL_PRIORITY_CLASS);
}

void CDialog_PROCESS::OnBnClickedRadio5()
{
        SetPriorityClass(GetCurrentProcess(),HIGH_PRIORITY_CLASS);
}

void CDialog_PROCESS::OnBnClickedRadio6()
{
        SetPriorityClass(GetCurrentProcess(),REALTIME_PRIORITY_CLASS);
}

 

posted @ 2016-12-29 11:18  whzym111  阅读(1322)  评论(0编辑  收藏  举报