在这个while循环中只有在GetMessage的返回值为WM_QUIT时结束,我的问题是为什么这个while循环不卡呢?
解决方案 »
- socket方面的几个疑问
- 我想读入几千万对数据进行画图,画一个带滚动条的图。
- 那位大虾知道CLISTBOX的最大容量是多少,即可以ADDstring多少项
- 请教怎样编写DLL中只要头文件不要CPP文件的过程?因为调用DLL,一般只给一个头文件就行了,但是这个头文件没有CPP文件怎么也能编译通过呢
- 关于状态栏的问题~~~~~~~
- 关于file.Readstring——另一个很好拿分的问题。
- 如何改变一个CStatic控件上文字的颜色!!!谢谢
- WIN2000的口令忘了,但WIN98可启动(双启动),如何去除2000下的ADMINISTRATOR口令?
- 急????----help 如何得到一个多文档的窗口图标-----------HELP
- 如何找到我的问题,我以前问的问题怎么找呢
- 如何在MFC对话框程序中调用控件 谢谢大家帮忙?
- VC2005配置问题
GetMessage消息队列为空会挂起 这是是不是又得有函数一直来检测是否有新消息到来 那这岂不是又得有一个while 循环?
有while也不意味着一定会卡,比如while (1) Sleep(1);
这句也是一个死循环,分段休眠1毫秒,但是由于执行一次while (1)的回跳jmp指令所需时间连1微妙都不需要,也就是说CPU大部分时间都在Sleep的休眠中,这样同样也不会卡机。
所以即便存在某一种循环检测,只要平衡好检测时间和休眠时间,也是不会卡机的。不过GetMessage的实现似乎不同,内核里面会在将消息扔进队列的同时,唤醒该线程。