程序CPU占用高的可能原因:

1、存在死循环;

  • 为什么死循环会导致CPU占用高呢?
      虽然分时操作系统是采用时间片的机制对CPU的时间进行管理的,也就是说到了一定时间它会自动从一个进程切换到下一个进程。但是,当进入别的进程后,若该进程告诉系统它现在不需要做什么,不需要那么多的时间,这个时候,系统就会切换到下一个进程,当切换到死循环所在进程后,由于它一直在循环,永远告诉系统它有事情做(实质仅在死循环,没做任何事),那么系统就尽可能的将其他进程省下了的时间让它做死循环了,CPU占用不高才怪咧。
  • 解决方法:在死循环中添加“Thread.sleep(1);”,如下所示:
  1.   while(true)
  2.   {
  3.   if(进入条件)
  4.   {
  5.   //该模块处理语句
  6.   }
  7.   else
  8.   {
  9.   Thread.sleep( 1);
  10.   }
  11.   }

2、高频率的IO操作。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

PS:未写完,后续会补充。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄