是不是你的程序占用率达到100%啊???你看看程序里面是不是有
这样的语句。
do
{
}while(true)线程里面很多人都这样写,
优化一下算法,不要写出类似于上面的那种程序。

解决方案 »

  1.   

    chenyuming2004(一切从2004开始)
    那我要做循环,用什么语句循环比较合适呢?
      

  2.   

    杀毒!
    优化你的程序!
    升级CPU
    扩大内存
    ...
      

  3.   

    用冷水淋,如果还不降温,把cpu拆下来,放到冰箱里!
      

  4.   

    cpu 占用率过高可能的原因有如下几个方面(啊,我的经验啊,)
    1,首先,你应该看一看什么进程占用的资源最多,有的时候是office中的工具,如:Word等。
    2,其次,如果你的系统的病毒程序在作怪。
    3,再次,就是你的杀毒软件。举个例子,我用的杀毒软件是诺顿,操作系统是Windows2000,用一个聊天工具叫QQ,当我收发信息的时候我的cpu资源的占用率特别高,到进程利一看,啊,原来是诺顿在查毒呢?
    4,如果你做的程序里有对数据库的操作,而操作的方法有错误,连接数据库时出错,程序会连续找数据库,这样就造成cpu利用率过高。
    太多了,也不是很知道,欢迎交流,批评。
      

  5.   

    严重不同意chenyuming2004(一切从2004开始) 的说法用循环是线程最好的解决方案,关键是怎么优化,循环的使用,在没有必要使用线程的时候
    就用Thread.Sleep(0)把cpu time让出来.而且最占用时间的可能不是这个程序本身,看看资源管理器里面的cpu time 就知道谁在
    捣乱了
      

  6.   

    各位大虾,我查看了的确是我自己的程序占用了大量的CUP资源,在60-90之间,然后其他被SQL SERVER占用(因为我要向SQL SERVER中写和获取数据)还有一个mcshield,其中SQL SERVER占用CPU第二多,内存SQL占用最多!
      

  7.   

    你的循环占用CPU太多了,适当sleep一下.sql的问题不大好解决,可以限制sql的可用内存,但是要以性能为代价
      

  8.   

    按照楼上各位的说法都 Check 一下吧
      

  9.   

    我已经处理过sleep了,可是还是不行
      

  10.   

    do{
    if(condition){
    do something
    System.Threading.Thread.Sleep(100);
    }
    }while(true)
      

  11.   

    线程中使用
    do
    {
    }while(true)
    是很常见的.没有死循环,就无法不断监听端口.
    真是大惊小怪.
      

  12.   

    http://www.csdn.net/adv/find_770x90.swf 的原因.关掉就可以了.
      

  13.   

    在进程里看看是哪个CPU占用率比较高,然后再推断,如果是你写的程序进程占用率高那就是你代码的问题,如果是其他进程,考虑软件的配置等方面。
      

  14.   

    本人在校时,在机房上机,发现大部分机子的CPU都99%左右,是联想的机子,都是新的可以机子的速度却很快不知道为什么
      

  15.   

    你看看程序里面是不是有
    这样的语句。
    do
    {
    }while(true)线程里面很多人都这样写,
    优化一下算法,不要写出类似于上面的那种程序。 不同意,在线程里这种写法很常见,