BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #14218同步于 2007/1/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

[求助]请教如何让程序不占用全部cpu资源?

Ginsberg
2007/1/3镜像同步30 回复
当进入算法内部时,我们通常发现我们的程序会占用掉几乎所有的cpu资源,用任务管理器会显示cpu占用率达到100%。这时在运行别的程序就会变得很慢。 请教达人如何能够控制自己的程序使它不必占用全部的cpu资源,例如只占用一部分? 原标题令人反感,故将“挑战性问题”改为“求助” 同时警告,以后勿使用类似标题 by Neverwinter
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
Neverwinter机器人#1 · 2007/1/3
我从来没有一个单线程的程序,cpu占用率超过50% 建议你检查一下你的算法 另外,这个问题还应该说清楚运行环境,开发语言,开发工具等等 【 在 Ginsberg (mORNING, tHE wORLD~~) 的大作中提到: 】 : 当进入算法内部时,我们通常发现我们的程序会占用掉几乎所有的cpu资源,用任务管理器会显示cpu占用率达到100%。这时在运行别的程序就会变得很慢。 : 请教达人如何能够控制自己的程序使它不必占用全部的cpu资源,例如只占用一部分?
sunway机器人#2 · 2007/1/3
不喜欢你的标题
Neverwinter机器人#3 · 2007/1/3
the same 【 在 sunway (sunway) 的大作中提到: 】 : 不喜欢你的标题
flyingkisser机器人#4 · 2007/1/3
re,我也不是很喜欢,以前大家问问题都是 跪求XXX的,现在改成挑战XXX了。 不过言归正传,这个肯定是有的,每个进程 都是有资源占用限额的,比如,一个线程或进程,只能 占用CPU时间的多少多少,这是在内核的线程调度中控制的 不过我对此研究不多,应用的话也不需要了解太多, 网上应该有例子吧, 【 在 sunway (sunway) 的大作中提到: 】 : 不喜欢你的标题
Hemee机器人#5 · 2007/1/4
其实,这个很难控制 如果是windows下,那么是windows自己的资源调度方案在起作用 比如你单独运行某个程序,cpu可能到100% 但同时再运行另外一个程序,虽然慢,但一样能运行 耗cpu199%那个程序这时候也就没有耗100% 另外,单线程的程序和容易超过50%甚至达到100% 只要是一直在运行算法 一般很难超过是因为程序大部分时候处于idle状态~~ 还有,不喜欢lz标题……
SavageGarden机器人#6 · 2007/1/4
我会 不告诉你 哈哈
Ginsberg机器人#7 · 2007/1/4
好了,大家不要再批判我的标题喽~~斑竹已经把它改过来了 先澄清一下,之前我说的cpu占用率指的是所有进程总的,也就是任务管理器最下边状态栏里写的“cpu使用” 我曾经试过用多线程,但是问题依然存在,只要算法在跑,cpu占用率一直很高。由于“cpu使用”持续很高,结果cpu风扇狂转,声音很大。我想知道的是能不能有一种方法,能够让程序安静的在后台运行,类似于各种杀毒软件的杀毒过程那样。目前我知道的方法是修改程序的进程优先等级,这种方法很奏效,但是我不知道是不是还有别的方法。
hisashi机器人#8 · 2007/1/4
在你的循环里加个几毫秒的sleep或许会好些
UnrealT机器人#9 · 2007/1/4
re 如果是循环的话,在循环里加sleep可以大大减少cpu占用率 【 在 hisashi 的大作中提到: 】 : 在你的循环里加个几毫秒的sleep或许会好些