qt中的进程优先级及应用内存大小设置方法,VS和Qt工程中申请超过2G的内存的方法

2023-05-16

l         进程优先级

l         获取当前进程句柄

l         优先级设置

l         优先级变动

l         优先级获取

      

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

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

 

  priority class)优先级等级,这里我叫它进程优先级。因为一般来说它是在调用CreateProcess时指定的,CreateProcessdwCreationFlags就可以指定进程的优先级。而线程创建时会继承进程的优先等级

    因为线程才是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);

}

/************************************

VS和Qt工程中申请超过2G的内存

在VS中,可以通过下面的设置使得程序可以申请到超过2G的内存,如图

在QtCreator中,可以通过在pro文件中加入下面的语句来实现
QMAKE_LFLAGS_WINDOWS += /LARGEADDRESSAWARE

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

qt中的进程优先级及应用内存大小设置方法,VS和Qt工程中申请超过2G的内存的方法 的相关文章

  • MFC中的模态对话框与非模态对话框的消息循环及消息传递问题(都可以通过SendMessage传递消息)

    注意 xff1a 非模态和模态对话框都有自己的消息响应过程函数WindowPro 只不过他们的调用模态是自己的消息泵 xff0c 非模态是由父窗体或父窗体的上一级的消息泵来调用 模态对话框和非模态对话框都可以通过SendMessage这个A
  • c#中子控件在父控件中显示的位置问题

    1 Control ShowDialog Control Parent 之前使Control StartPosition 61 FormStartPosition CenterScreen便可在父控件中居中于屏幕显示
  • 控件中的Cliked事件和MouseDown事件执行优先级问题

    MFC中 1 Button控件鼠标事件执行顺序 1 WM LBUTTONDOWN 2 WM LBUTTONUP 3 OnBnClickedButton1 2 Picture Control的鼠标事件执行顺序 1 WM LBUTTONDOWN
  • MFC中手动添加消息处理函数PreTranslateMessage截获按键等消息

    PreTranslateMessage作用和用法 PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的 xff0c 绝大多数本窗体的消息都要通过这里 xff0c 比較经常使用 xff0c 当须要
  • OpenStack核心组件

    OpenStack覆盖了网络 虚拟化 操作系统 服务器等各个方面 它是一个正在开发中的云计算平台项目 xff0c 根据成熟及重要程度的不同 xff0c 被分解成核心项目 孵化项目 xff0c 以及支持项目和相关项目 每个项目都有自己的委员会
  • mfc中钩子的使用

    钩子的安装与卸载 系统是通过调用位于钩子链表最开始处的钩子函数而进行消息拦截处理的 xff0c 因此在设置钩子时要把回调函数放置于钩子链表的链首 xff0c 操作系统会使其首先被调用 由函数SetWindowsHookEx 负责将回调函数放
  • mfc-钩子的使用方法详解

    钩子的安装与卸载 系统是通过调用位于钩子链表最开始处的钩子函数而进行消息拦截处理的 xff0c 因此在设置钩子时要把回调函数放置于钩子链表的链首 xff0c 操作系统会使其首先被调用 由函数SetWindowsHookEx 负责将回调函数放
  • mfc-钩子的使用方法详解

    钩子的安装与卸载 系统是通过调用位于钩子链表最开始处的钩子函数而进行消息拦截处理的 xff0c 因此在设置钩子时要把回调函数放置于钩子链表的链首 xff0c 操作系统会使其首先被调用 由函数SetWindowsHookEx 负责将回调函数放
  • c#中的消息处理函数和vc中的消息处理函数区别

    从vc入门编程的 xff0c 相信大家都很熟悉PreTranslateMessage和WindowProc两个函数 xff0c 前者是预处理windows发给控件的消息 xff0c 后者是处理剩余的控件消息 对于PreTranslateMe
  • c#中怎么截获按钮消息的几种方法实例验证

    public partial class Form2 Form public Form2 InitializeComponent this button1 MouseEnter 43 61 new EventHandler object o
  • QT中连接Mysql数据库及增删改查实例

    QT连接Mysql数据库步骤相对比较麻烦 xff0c 因此写了篇文章将详细过程呈现给大家 xff0c 欢迎大家来评论区指导提问 方法一 直接通过MySQL的驱动加载数据库 示例代码 xff1a xff08 1 xff09 在 pro文件中添
  • mysql 大批量数据优化插入数据速度

    在 MySQL 中 xff0c 向数据表插入数据时 xff0c 索引 唯一性检查 数据大小是影响插入速度的主要因素 本节将介绍优化插入数据速度的几种方法 根据不同情况 xff0c 可以分别进行优化 对于 MyISAM 引擎的表 xff0c
  • qt连接MySql数据库及增删改查示例

    include 34 mainwindow h 34 include 34 ui mainwindow h 34 include 34 QtSql QSqlDatabase 34 include 34 QMessageBox 34 incl
  • QT中拷贝一个项目的ui界面到另一个项目时Ui.h文件时Ui.h文件控件变量错乱问题解决

    qt中赋值另一个项目的ui时可能会产生在UI h的界面文件中控件变量确实或错乱 xff0c 这是可以去另一个项目的UI h文件中赋值全部代码拷贝到错乱的UI h中 xff0c 然后修改 一下 void setupUi QDialog Ins
  • C++中TCP socket传输文件

    在两个文件中都定义文件头和用到的宏 xff1a define MAX SIZE 10 define ONE PAGE 4096 struct FileHead char str 260 int size 在客户端发送接收阶段 xff1a 1
  • 使用Zeromq和protobuf实现的socket通信

    本文介绍使用ZeroMQ 下文简称ZMQ 结合protobuf序列化实现客户端和服务端的通信 在之前的一篇文章中 http blog csdn net cjf wei article details 52894560 介绍了Google的p
  • QT 中多线程实现方法总结

    第一 xff1a 用QtConcurrentRun类 xff0c 适合在另一个线程中运行一个函数 不用继承类 xff0c 很方便 第二 xff1a 用QRunnable和QThreadPool结合 继承QRunnable xff0c 重写r
  • c++TCP socket实时文件传输

    分为服务端和客户端 xff0c 实现文件的传输 好吧确实是有点本末倒置 xff0c 应该先上消息的互传 xff0c 再进行文件的传输 xff0c 这是因为在学习消息的传输时没有找到合适的讲得明白的教程 现在再回头看消息传输 xff0c 其实
  • Qt中遍历文件夹的方法

    关于Qt操作文件夹 文件的知识用途较多 xff0c 比如遍历下一层乃至所有子孙文件 文件夹 xff0c 获取它们的一些信息 xff08 大小 类型 最后更改时间等 xff09 当然 xff0c 也可以进行级联删除 首先看简单的 xff1a
  • qt中在代码中删除界面的槽方法后一定要把定义和声明都删掉否则代码生成器中一直报错

    qt中在代码中删除界面的槽方法后一定要把定义和声明都删掉否则代码生成器中一直报错

随机推荐