C++/MFC-进程优先级

一、进程优先级(优先级等级)

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

 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   获取是否 激活进程优先级提高功能

 四、示例代码

SetPriorityClass(GetCurrentProcess(),IDLE_PRIORITY_CLASS);
//SetPriorityClass(获取当前进程句柄,进程优先级);


  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值