消息循环 CPU使用率 CPU的使用率是表示什么的呀,为什么在C++里加个消息处理死循环可正常运行,并且CPU使用率也不很高,而用VB时有死循环则是程序错误,并且CPU 占用率狂高。CPU里不一直跑指令吗?那使用率是表示什么的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 消息循环的GetMessage函数,在等待消息的过程中是基本不占用CPU时间的,所以CPU使用率不高。 你试试下面的代码与不加sleep比较CPU占用率while(1){ printf("hello world\n"); Sleep(10);} 代码比较过了,加上延时后CPU使用率为0,不加延时略高。但还是不太清楚为什么,什么样的代码会使CPU使用率高,Sleep(10)时CPU干什么了 打个比方:假设CPU每秒能够执行1亿行代码。上述代码中,不加Sleep,CPU每秒执行1亿行代码。 CPU使用率:1亿/1亿=100%而Sleep的功能是休息10毫秒,这样CPU每秒只执行100行代码。CPU使用率:100/1亿=0.0001%不知楼主理解了没有? 10毫秒相对人来说,感觉特别短。但对CPU而言,他是一个非常漫长的时间段。打个比方,相当于人对1年时间的感觉。 vc++ 在列表视图控件中插入Gif格式动画? 怎样可以改变GroupBox控件区域的背景颜色? 简单不能再简单的问题 CFileDialog中的Save As如何自动添加文件类型的扩张名? 如何把一条NURB曲线通过增加节点的数目转化为Bezier曲线 我的vc居然安装不上去了,请各位高手执教 看〈深入浅出MFC〉的感觉 如何进行时间的加减(不准使用CTIME类,老总规定),谢谢各位,帮帮忙! 一个关于CAsyncSocket类的应用问题! 串口编程一问 关于剪切板的图象问题 谁那有类似于msn sniffer的VC源代码?
while(1)
{
printf("hello world\n");
Sleep(10);
}
假设CPU每秒能够执行1亿行代码。上述代码中,不加Sleep,CPU每秒执行1亿行代码。 CPU使用率:1亿/1亿=100%
而Sleep的功能是休息10毫秒,这样CPU每秒只执行100行代码。CPU使用率:100/1亿=0.0001%不知楼主理解了没有?
但对CPU而言,他是一个非常漫长的时间段。
打个比方,相当于人对1年时间的感觉。