首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么时候应该使用像MsgWaitForMultipleObjects这样的等待函数,什么时候不应该使用?

什么时候应该使用像MsgWaitForMultipleObjects这样的等待函数,什么时候不应该使用?
EN

Stack Overflow用户
提问于 2022-04-18 18:27:21
回答 1查看 82关注 0票数 -1

因此,我试图理解Windows上的“虚幻引擎”的消息处理代码,并且在消息抽取代码中没有发现函数MsgWaitForMultipleObjects或MsgWaitForMultipleObjectsEx的任何频繁使用。引擎信息泵是这样的:

代码语言:javascript
运行
复制
MSG Message;

    // standard Windows message handling
    while(PeekMessage(&Message, NULL, 0, 0, PM_REMOVE))
    { 
        TranslateMessage(&Message);
        DispatchMessage(&Message); 
    }

对于上下文,此代码将运行每帧一至三次,这意味着在整个应用程序的运行时间内,代码平均每2到5毫秒执行一次。( A)这是否使等待功能变得不必要?或者我在这里漏掉了什么!

( B)对应用程序在处理传入消息之前忙于“其他事情”的时间是否有粗略的估计?例如,如果一个应用程序仅每50毫秒处理一次消息,这是一种糟糕的做法吗?或者这是一种合理的做法?如果周期变成500毫秒呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-18 21:22:44

如果需要在单个线程中处理窗口消息处理和内核句柄或警报等待,请使用MsgWaitForMultipleObjects/etc。如果您只进行消息处理,那么只需使用一个普通的基于GetMessage的消息循环,如果只执行内核句柄或警报等待,则可以酌情使用WaitForMultipleObjects。

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

https://stackoverflow.com/questions/71915644

复制
相关文章

相似问题

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