Red de conocimiento informático - Problemas con los teléfonos móviles - Para un programa escrito en VC MFC, ¿hay alguna forma de controlar automáticamente la CPU? Ahora que el programa se está ejecutando, ¡el uso de la CPU es muy alto!

Para un programa escrito en VC MFC, ¿hay alguna forma de controlar automáticamente la CPU? Ahora que el programa se está ejecutando, ¡el uso de la CPU es muy alto!

¿Su programa de trabajo se ejecuta en un bucle?

Si es así, utilice Sleep(1); en circunstancias inusuales para que su CPU se ralentice. Por ejemplo:

La función de su hilo es Thread(LPVOID lpPar); el hilo principal tiene una variable bool m_bRun, que se utiliza para controlar declaraciones específicas ejecutadas en el hilo. Pase un puntero a la clase principal relacionada con el subproceso (clase CXXXDlg) al subproceso de trabajo. Entonces:

Thread(LPVOID lpPar)

{

CXXXDlg *pDlg = (CXXXDlg*)lpPar

while (true)

{

if (pDlg-gt; m_bRun)

{

action // el trabajo que se debe realizar en el hilo en el que planeas trabajar

}

else

{

Sleep(1);

}

}

}

}

Controla la variable m_bRun en el hilo principal y cámbiala cuando sea necesario realizar operaciones. realizado Establezca el valor, configúrelo en verdadero cuando se requiera ejecución y configúrelo en falso cuando no se requiera ejecución, para que la CPU caiga inmediatamente.

Si su programa requiere una acción en cada bucle, entonces esto no es un problema de hilo, pero para ver qué contenido en la acción necesita considerar la CPU. Si la acción es algún tipo de algoritmo de codificación, un. mucha conversión de datos, entonces optimizar estos algoritmos es muy importante.