首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MFC消息队列限制

MFC消息队列限制
EN

Stack Overflow用户
提问于 2015-02-11 11:25:18
回答 1查看 2.2K关注 0票数 0

我对MFC线程中消息队列的大小限制的理解来自于MSDN的PostThreadMessage页面上的解释。

https://msdn.microsoft.com/en-us/library/windows/desktop/ms644946%28v=vs.85%29.aspx

如前所述,默认情况下限制为10000条消息。我正在努力弄清楚这个限制是什么。我认为这是两件事之一。

场景A

我有一个处理消息的GUI。将消息放在队列中的速率大于将这些消息从队列中取出并处理的速率。在这种情况下,消息累积,最终队列上有10000条消息,另一条消息试图加入队列,但随后失败。

场景B

我有一个处理消息的GUI。在队列中放置消息的速率低于从队列中提取和处理这些消息的速率。消息不会在队列中累积。但是当我的队列看到了10000条消息后,它就变得无用了,因此有效地,我的消息队列的操作寿命是有限的。

我越想越多,答案应该是情景A.但奇怪的事情发生了..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-11 11:58:47

在链接的文章中:当到达消息限制时,GetLastError返回ERROR_NOT_ENOUGH_QUOTA。因此,在队列已满时,每次发送/发布消息的尝试都会失败,仅此而已。

通常,目标线程处理消息并从队列中删除它们。带有PeekMessage标志的PM_NOREMOVE允许在不删除消息的情况下处理消息。供参考,PeekMessage函数:https://msdn.microsoft.com/en-us/library/windows/desktop/ms644943%28v=vs.85%29.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28453143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档