当前位置: 代码迷 >> C# >> 怎么降低CPU的利用率
  详细解决方案

怎么降低CPU的利用率

热度:81   发布时间:2016-05-05 03:16:34.0
如何降低CPU的利用率?
我想写一个转码的小东西,可是每次我的测试数据一大,CPU就容易升的很高,有没有什么办法让程序即使是要做很大量的运算的时候也仅仅只是占用10%左右的CPU呢?
------解决思路----------------------
引用:
Quote: 引用:

降低CPU占用率有任何意义吗
如果不是因为你算法本身写的太烂,在浪费CPU

那么花费1ms占用100%的CPU能处理的问题,为什么要占用1%的CPU用100ms去处理呢??

如果你仅仅纠结CPU占用率高,那么别用多线程,并且在所有循环里加上sleep,占用率就自然下降了


用sleep可以让CPU占用稳定在10%左右吗?

sleep只是让CPU解放出来干些别的,但是它到底休息了多长时间,就由不得你了
你可以写Thread.Sleep(1)这样的代码,但是CPU不会刚好休息1ms就马上回来继续执行你的程序
一般能精确到15ms已经很不错了
所以如果你用了sleep,不要说稳定在10%,有可能连1%都达不到

机器配置低,还想同时干好几件事情,我觉得你可以这样做:
不要每次循环都sleep,弄个int变量计数,然后执行10000次就sleep一下
多测试几次,看这个数定成多大合适
------解决思路----------------------
用线程,然后当中适当的Thread.Sleep一下
------解决思路----------------------
可以在运行时候打开进程管理器,设置进程优先级为低
  相关解决方案