返回首页  设为首页  加入收藏  今天是:
网站首页电脑主板电脑cpu电脑内存电脑硬盘电脑显卡电脑电源显示器电脑配件电脑维修
相关文章
 程序运行过程中CPU占用率过高…
 中国智能家用投影仪在未来将…
 Steam Deck能玩模拟器游戏吗…
 使用C语言实现简单动态内存分…
 ChatGPT教你选投影文末榜单放…
 菜鸟升级2019款215寸iMac硬盘…
 RTX 4060显卡功耗是多少 可以…
 RTX 4060显卡功耗是多少 40系…
 R7 5800X
 荒野大镖客游戏_荒野大镖客游…
 英特尔与生态伙伴齐聚 Bilib…
 【装机帮扶站】第1070期:聊…
 电池充电器电源适配器上架亚…
 电池安全性能检测项目-GB312…
 AMD锐龙5 7500F天梯榜首发评…
 电池内阻的分类有哪些电池内…
 2022 年预算万元内的超轻笔记…
 超薄型液晶显示器
 2022年十大高品质笔记本电脑…
 寸超薄显示器-寸超薄显示器品…
 4000价位比较推荐的笔记本电…
 铭瑄挑战者 H610MP主板评测:…
 华硕主板线背置“消灭走线”
 电脑电源线接法图解 主板电源…
 高能进击!ROG Z790 EVANGEL…
 电脑组装之接口线(主板电源线…
 电脑风扇声音大的解决方法
 电脑风扇声音大怎么办_电脑风…
 电脑cpu风扇声音大怎么办最新…
 CPU风扇声音大怎么办 CPU风扇…
 如何解决cpu风扇声音大(电脑…
 电脑中内存条的英文名字是(…
 长鑫-电子发烧友网
 手机文件夹中的英文怎么看(…
 详解GPU的内存带宽与CPU的不…
 内存卡的英文怎么说
 Win7显卡驱动程序已停止响应…
 显存翻倍:磐镭 RX 6500 XT …
 Win7显卡配置怎么查看 Win7查…
 英伟达 “RTX 4090 Ti” 原型…
 英伟达RTX 40系列显卡取消 散…
 MOS管的各关键参数计算
 一文详解共集电极
 DC12V怎么降成5V03A电源芯片…
 射频电路架构设计方案
 集电极开路电路的工作原理、…
 打破PC性能短板! 热卖SSD硬盘…
 Windows7如何清理磁盘 Windo…
 500G才够爽 主流大硬盘台式机…
 错过等一年双十一好物推荐—…
专题栏目
湖南视觉网络"模板城"--汇集CMS、EShop、BBS、BLOG等系统模板
您现在的位置: 电脑评测网 >> 电脑cpu >> 正文
高级搜索
程序运行过程中CPU占用率过高原来是代码中“死循环”导致的!
作者:佚名 文章来源:本站原创 点击数: 更新时间:2023/8/1 16:06:55 | 【字体:

  穿越之色妃倾城下载客户发现我们公司一个程序员写的程序占CPU占用率过高,这个程序员自查了一圈也没有查出问题出在哪,于是就让我去看他代码,看看是不是哪里写得有问题。其实,他写的这个软件我是知道的,并没有什么太大的数据要算,因此,我判断导致他写的程序占用CPU过高的原因,可能是他写的程序里可能“死循环”。于是,我就问他整个程序里,使用“死循环”的地方有多少,于是,他就给我指了两个地方。

  我们公司代码里写“死循环”一般很常见,大多数情况下都是用来让AB程序保持通讯心跳的,还有就是通过“死循环”去获取某个内存指针内的内容的。他写的这两个死循环正好对应了这两个场景,一个是用来检测AB程序心跳,一个是用来循环获取内存指针内容的。

  我先查看了下检测AB程序心跳的死循环,没有发现问题,这个循环是每秒获取一次内存指针里面的内容,循环有控制,获取一次内存中的内容,就手动阻塞1秒。这种情况下,一般不会出现CPU占用率过高的问题。

  那么,很可能就是检测AB程序心跳的“死循环”出现了问题,果不其然,我看了一眼代码,就知道问题出现的根源。

  他的“死循环”逻辑是,先检测A程序是否已经连接上了B程序,当A程序未连接上B程序的时候,调用AB程序的连接方法重连AB程序,若始终连不上,则等待1秒后继续执行。

  这个逻辑本身没有问题,但是,这个程序员在写这段代码的时候,估计太想当然了,在控制“死循环”的时候,只控制了当A程序连不上B程序的时候的逻辑,也就是说,这个“死循环”里有一个判断语句,当语句成立的时候,重连AB程序,并等待1秒,继续执行,而当语句不成立的时候,则继续循环,没有任何循环控制。

  所以,这个程序在AB程序已经建立连接的情况下,“死循环”是没有控制的,在1秒内执行多少次都有可能,这就是导致CPU占用率过高的“元凶”!

  其实,不管怎么样,“死循环”内的条件是否成立,循环都得等待1秒再继续执行,所以,他写的逻辑肯定是有问题的。

  于是,我就让他在“死循环”内部的判断语句外面再加一个1秒的阻塞,然后再部署到客户那边,问题成功解决!

  其实,代码写成这样我并没有怪他,因为很多时候我们写代码就是这样,明明很简单的问题经常因为写代码写“陷进去”了我们自己不知道。

  他之所以一直没发现,主要和他电脑配置有关,他自己用的电脑是那种比较高端的游戏本,即使CPU占用率跑到50%,对他来说也没什么感觉,即使有感觉,可能也不会太长。因为软件在开发过程中不可能一直在那运行。

  但是,客户那边的机器配置则比较一般了,CPU出现一般性波动,可能电脑都会出现比较卡的情况,软件运行时间越长,感受越明显。

电脑cpu录入:admin    责任编辑:admin 
  • 上一个电脑cpu:

  • 下一个电脑cpu: 没有了
  •  
     栏目文章
    普通电脑cpu 程序运行过程中CPU占用率过高原来是代码中“死… (08-01)
    普通电脑cpu 电脑风扇声音大的解决方法 (08-01)
    普通电脑cpu 电脑风扇声音大怎么办_电脑风扇声音大的五种解… (08-01)
    普通电脑cpu 电脑cpu风扇声音大怎么办最新2篇 (08-01)
    普通电脑cpu CPU风扇声音大怎么办 CPU风扇声音大的解决方法… (08-01)
    普通电脑cpu 如何解决cpu风扇声音大(电脑知识范文) (08-01)
    普通电脑cpu 怎么解决cpu温度过高 (07-31)
    普通电脑cpu 电脑CPU温度过高的解决方法(推荐5篇) (07-31)
    普通电脑cpu cpu温度过高应该怎么办 (07-31)
    普通电脑cpu 电脑cpu温度高怎么办? (07-31)
    普通电脑cpu 电脑CPU温度过高的解决方法 -电脑资料 (07-31)
    普通电脑cpu 华硕无畏“芯”引力的定律谁能抗拒? (07-31)
    普通电脑cpu 机械革命笔记本电脑开机黑屏闪烁解析与解决方… (07-31)
    普通电脑cpu 7月24日传艺科技涨停分析:PCB板笔记本电脑手… (07-31)
    普通电脑cpu Z790的最新相关信息_Z790怎么样_新品问问 (07-31)
    普通电脑cpu 信音电子: 公司的主要产品为连接器公司的产品… (07-31)
    普通电脑cpu 电脑CPU怎么选购 电脑CPU选购技巧【详细介绍】 (07-30)
    普通电脑cpu 什么cpu好 最受欢迎cpu推荐【详解】 (07-30)
    普通电脑cpu cpu是计算机芯片吗?它们之间的区别是什么? (07-30)
    普通电脑cpu 第二台电脑本想一步到位可惜7月不给力 (07-30)