我使用了一个最小化到托盘 VC++ 示例来创建一个程序,该程序会不时弹出一条消息以提醒我休息一下。
程序是这样的:
startTime = time(0);
g_hInstance=hInstance;
HWND hWnd=CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,DialogProc);
if(hWnd)
{
MSG msg;
_beginthread(&checkEyeRestTime, 0, 0);
while(GetMessage(&msg,hWnd,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
和 checkEyeRestTime 函数:
void checkEyeRestTime(void* ptr)
{
while( true )
{
//logic to check time and display message
}//while
_endthread();
}
但是这个程序在两核处理器上占用了 50% 的 CPU。如何减少处理器的负载?