C#窗口程序CPU占用高的原因和解决方法(转)


原因: 

       存在死循环;

        虽然分时操作系统是采用时间片的机制对CPU的时间进行管理的,也就是说到了一定时间它会自动从一个进程切换到下一个进程。但是,当进入别的进程后,若该进程告诉系统它现在不需要做什么,不需要那么多的时间,这个时候,系统就会切换到下一个进程,当切换到死循环所在进程后,由于它一直在循环,永远告诉系统它有事情做(实质仅在死循环,没做任何事),那么系统就尽可能的将其他进程省下了的时间让它做死循环了,CPU占用不高才怪咧。

解决方法:

  • 在死循环中添加“Thread.sleep(1);”,如下所示:
  • while(true)
    { 
      if(进入条件) 
      {
     
         //该模块处理语句
       else 
      {
          Thread.sleep(1); 
       } 
    }

参考链接:https://www.cnblogs.com/shuaiheng/p/10819675.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM