案例:

独立线程以5ms一包的速率接收指令(一共大概70-80种指令类型),并放入一个队列A

主线程中,根据定时器去队列A中取数据,并解析/计算/显示(速率:200包/秒)

现象:按理说这个收/发的频率是能保持平衡的,也就是收多少就处理多少,延迟会很小(可能就是一个指令的传输时间),但是实际现象是,随着时间的推移,队列A越来越大。

发现:调试的时候发现是处理数据的时候,判断数据包类型,并进行解析模块比较费时间(注释掉这块内容就不存在延迟了)。因此排除了代码本身的问题;

代码没问题,那就只能从设备方下手

解决方案:提高软件的优先级,让CPU优先处理我这个软件的计算处理

//REALTIME_PRIORITY_CLASS  实时//HIGH_PRIORITY_CLASS      高//ABOVE_NORMAL_PRIORITY_CLASS 高于正常//NORMAL_PRIORITY_CLASS  正常//BELOW_NORMAL_PRIORITY_CLASS 低于正常//IDLE_PRIORITY_CLASS 空闲GetCurrentProcess():当前软件进程int main(int argc, char *argv[])
{SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS );
}

查看进程的当前CPU优先级:

任务管理器-鼠标右键(软件进程)-转到详细详细-鼠标右键(软件进程)-设置进程优先级

然后,你启动软件的时候就会发现,应用程序优先级,由默认的正常,改成了你需要的!

提高软件CPU占用率相关推荐

  1. .net 软件 CPU 占用率高问题处理

    .net 软件 CPU 占用率高问题处理 一般这种都是因为 代码问题 导致的,比如最经典的就是死循环,而且循环体内,没有做任何的 CPU 抢占丢弃处理,往往这种代码极易引起 CPU 占用率狂飙. 如何 ...

  2. 测试软件cpu占用率 可以用,CPU占用率检测工具

    面对性能问题,我们第一件事情就是查看CPU使用率.查看CPU使用率的方式是大家都熟悉的top命令,但是top在多核系统中指示的是所有CPU的平均使用率,这一点大家必须理解.比如说,对于一个4核的系统, ...

  3. 计算机如何降低安全提升速度,怎样减少电脑cpu占用率提高运行速度

    减少电脑cpu要如何减少占用率呢,这是一个问题,那么怎样减少电脑cpu占用率提高运行速度的呢.下面是学习啦小编收集整理的怎样减少电脑cpu占用率提高运行速度,希望对大家有帮助~~ 减少电脑cpu占用率 ...

  4. 电脑游戏显卡cpu占用率测试软件,游戏运行慢CPU占用率高试下更换显卡驱动试试...

    我们平常在玩一些大型的游戏的时候,经常会遇到运行游戏软件时候电脑速度慢,电脑显示CPU占用率已经达到了100%的情况.其实遇到这类的问题是很正常的,因为我们在玩大型的游戏时需要占用到较多的CPU资源. ...

  5. 银行手机APP软件做性能测试吗,20家农村商业银行个人手机APP评测:CPU占用率差距最大可达32倍 流量消耗成重灾区...

    为持续跟踪和检测手机银行APP的兼容性和易用性等方面的表现,为行业发展提供有益参考,中国电子银行网联合CFCA兼容和性能测试平台对20家农村商业银行客户端进行测试.今年测试范围首次加入IOS系统,与安 ...

  6. CPU占用率高的九种可能~

    首先是考虑病毒~ 其次: 1.防杀毒软件造成故障 由于新版的KV.金山.瑞星都加入了对网页.插件.邮件的随机监控,无疑增大了系统负担.处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,或者 ...

  7. XP中CPU占用率100%原因及解决方法

    我们在使用Windows XP操作系统的时候,用着用着系统就变慢了,一看"任务管理器"才发现CPU占用达到100%.这是怎么回事情呢?遇到病毒了,硬件有问题,还是系统设置有问题,在 ...

  8. Linux环境下如何计算CPU占用率

    1.Linux 环境下查看 CPU 信息 1.1.查看 CPU 详细信息 通过 cat /proc/cpuinfo 命令,可以查看 CPU 相关的信息: [root@rh ~]$ cat /proc/ ...

  9. CPU占用率百分百原因及解决方法

    我们在使用Windows XP操作系统的时候,用着用着系统就变慢了,一看"任务管理器"才发现CPU占用达到100%.这是怎么回事情呢?遇到病毒了,硬件有问题,还是系统设置有问题,在 ...

  10. 电脑CPU占用率高是什么原因造成的? 与解决方法

    电脑CPU占用率高是什么原因造成的? CPU占用率高的九种可能 1.防杀毒软件造成故障 由于新版的KV.金山.瑞星都加入了对网页.插件.邮件的随机监控,无疑增大了系统负担.处理方式:基本上没有合理的处 ...

最新文章

  1. 微软BI 之SSAS 系列 - 在 SQL Server 2012 下查看 SSAS 分析服务的模型以及几个模型的简单介绍...
  2. 皮一皮:直男的世界不可揣测!
  3. python测量不确定度_chaospy-不确定度量化的数值工具-Jonathan Feinberg Installation Example Usage...
  4. 三十六、Java集合中的HashMap
  5. strcmp java_C语言中strcmp的实现原型
  6. centos 6.5 防火墙开放指定端口
  7. BeanUtils 使用问题
  8. 微软警告员工不要参与愚人节恶作剧
  9. [转]关于PSP的3.52 M33-2自制系统七大热点问题
  10. linux下安装杰奇2.4,实现关关采集器远程采集详细教程
  11. 我手机计算机屏幕是黑色的,教你处理手机或者电脑黑屏的简单方法
  12. python图片换脸_无需PS,200 行 Python 代码实现简单图片人像识别换脸
  13. SNS背后的科:从六度分隔到无尺度网络,互联网营销
  14. 武汉理工大学计算机学院导师联系方式,武汉理工大学计算机学院导师一览表
  15. Node-RED使用指南:28:撤销与删除恢复
  16. 机器学习中处理缺失值的7种方法
  17. node-exporter安装
  18. POJ 3842 An Industrial Spy 快筛质数+STL乱搞
  19. 架设MTProxy服务
  20. 学校计算机机房纪律,巧妙设置学生机轻松管理机房课堂纪律

热门文章

  1. 计算机word公式平均数,平均值word公式怎么用?
  2. 4kvideodownloader视频下载工具
  3. 基于Pytorch实现自建数据库的深度神经网络模型案例
  4. 英语砖石法则(三)----用好你的耳朵
  5. 路由器与交换机的区别是什么
  6. Web开发分享qq、微信组件-百度分享
  7. 可部署于windows和Linux的即时通讯系统
  8. 火狐浏览器设置代理后出现“建立安全连接失败”问题的解决(由multisim引起
  9. WebIM项目的架构设计以及实现
  10. 强化学习——策略学习