我需要将应用程序的CPU使用率控制到一定限度.我的应用程序将在Win XP,Vista,Win7和
Windows 8上运行.
我尝试实现以获取当前进程的CPU使用率并使用Sleep()方法.(我使用了API GetProcessTimes& GetSystemTimes)
伪代码:
for(;;)
{
//Get the current process's CPU Usage
int cpuUsage = CalculateCPUUsage();
if(cpuUsage > 50)
Sleep(10)
else
{
//Project implementation code
}
}
题:
我是否可以编写应用程序来监视进程的CPU使用率,并且只要CPU达到允许的限制,就停止进程并继续进行.
在此先感谢您的帮助.
最佳答案 如果你只是试图给进程一个较低的优先级以便更好地使用其他线程,你可以使用SetThreadPriority设置它的优先级,例如:
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_BELOW_NORMAL);