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