获取cpu空闲率问题 因为你有while循环,会阻塞主线程消息,所以要开线程。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用timeSetEvent 定时500ms 调用一次,但获取的不对,FILETIME preidleTime; FILETIME prekernelTime; FILETIME preuserTime; FILETIME idleTime; FILETIME kernelTime; FILETIME userTime;这几个变量用全局或静态试了,界面不卡但数据不正确?真不想开线程了,我的线程经很多。 Sleep(500);这个改成消息循环就不会卡了, 或者你的这个函数在定时器调用, 不要Sleep 楼主MFC有个主线程的,主线程就是界面线程void Cmfc_cpuDlg::OnBnClickedButton1()这个函数就是界面线程运行的也就是当你按一下按钮,就会发1个对应的消息,给界面线程,界面线程就进入到这个函数。界面线程的消息处理是MSG msg ; while(TRUE) { while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if (msg.message == WM_QUIT) { break; } DispatchMessage(&msg); } }主线程 DispatchMessage ---> void Cmfc_cpuDlg::OnBnClickedButton1()的时候里面用到了while,一直不返回,界面线程就卡住了,界面线程还怎么处理其他消息,不能处理其他消息,界面不就卡住了? 一个线程就是一条线----->-----while在这---->-----------这里UI操作------------->while一直在执行,后面的界面当然没反应了.timeSetEvent 好像也是新开的线程吧. setTimer是不开新线程的.数据不对是你弄错了.和计时器没关系 directshow怎么控制摄像头快门(曝光时间),进来都有分。 什么是扩展内存?为什么一般的内存测试工具测试的都是扩展内存? 高分求:如何用CAsyncSocket类通信来实现结构体的传送? 很菜的问题 关于钩子例程! 关于HBitmap的色深转换的问题,100分。 一个ADO数据库处理的问题 微软的speech sdk能免费地用于商业用途吗? 如何是图片只显示想要的部分? =======关于DLL调用的问题 关于mfc,ADO修改SQL中的数据问题 关于绘制静态曲线的问题
我用timeSetEvent 定时500ms 调用一次,但获取的不对,FILETIME preidleTime;
FILETIME prekernelTime;
FILETIME preuserTime;
FILETIME idleTime;
FILETIME kernelTime;
FILETIME userTime;这几个变量用全局或静态试了,界面不卡但数据不正确?真不想开线程了,我的线程经很多。
或者你的这个函数在定时器调用, 不要Sleep
MFC有个主线程的,主线程就是界面线程
void Cmfc_cpuDlg::OnBnClickedButton1()
这个函数就是界面线程运行的也就是当你按一下按钮,就会发1个对应的消息,给界面线程,界面线程就进入到这个函数。界面线程的消息处理是MSG msg ;
while(TRUE)
{
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if (msg.message == WM_QUIT)
{
break;
}
DispatchMessage(&msg);
}
}
主线程 DispatchMessage ---> void Cmfc_cpuDlg::OnBnClickedButton1()的时候里面用到了while,一直不返回,界面线程就卡住了,界面线程还怎么处理其他消息,不能处理其他消息,界面不就卡住了?
----->-----while在这---->-----------这里UI操作------------->
while一直在执行,后面的界面当然没反应了.
timeSetEvent 好像也是新开的线程吧. setTimer是不开新线程的.
数据不对是你弄错了.和计时器没关系