设置:我在 c++ 中有这个程序:
#include <windows.h>
using namespace std;
int main(){
HWND window;
AllocConsole();
window = FindWindowA("ConsoleWindowClass", NULL);
ShowWindow(window,0);
while (1){
if (GetKeyState('A'))
{
system("start love.mp3");
return 0;
}
}
return 0;
}
因此程序作为一个进程运行并等待直到按键 A 被按下。然后它播放 love.mp3 文件 :)
但是,当程序等待时,它会占用 25% 的 CPU 使用率。
问题:有没有办法减少这种情况,使程序不会消耗太多 CPU?
最佳答案
你的程序犯了busy-waiting .
尝试使用 SetWindowsHookEx
挂接您的键盘调用.
关于c++ - 使程序在无限循环中等待时使用更少的 CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10990129/