La CPU del programa C # Winform ocupa altas razones y soluciones

Posibles razones del alto uso de CPU del programa:

1. Hay un bucle infinito;

  • ¿Por qué el bucle infinito provoca un uso elevado de la CPU?
      Aunque el sistema operativo de tiempo compartido utiliza un mecanismo de intervalo de tiempo para gestionar el tiempo de la CPU, es decir, pasará automáticamente de un proceso al siguiente en un momento determinado. Sin embargo, después de ingresar a otro proceso, si el proceso le dice al sistema que no necesita hacer nada ahora y no necesita tanto tiempo, en este momento, el sistema cambiará al siguiente proceso. Cuando el proceso cambia al bucle infinito, porque Ha estado en bucle, siempre diciéndole al sistema que tiene algo que hacer (esencialmente solo en un bucle infinito, sin hacer nada), luego el sistema hará todo lo posible para ahorrar el tiempo ahorrado por otros procesos para que haga un bucle infinito, y el uso de la CPU no es alto Eso es raro.
  • Solución: agregue "Thread.sleep (1);" en el bucle infinito, como se muestra a continuación:
while(true)
{
  if(进入条件)
 {
    //该模块处理语句
  }
  else
  {
    Thread.sleep(1);
  }
}

2. Funcionamiento de E / S de alta frecuencia.

PD: No está terminado y se agregará más tarde.

Supongo que te gusta

Origin blog.csdn.net/youarenotme/article/details/80092327
Recomendado
Clasificación