c – 如何在Windows上限制进程的CPU使用率?

我需要将应用程序的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);
点赞