首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在单独的线程中调用MFC UI类上的方法

在单独的线程中调用MFC UI类上的方法
EN

Stack Overflow用户
提问于 2020-04-01 01:20:23
回答 1查看 110关注 0票数 0

我的MFC应用程序中有两个线程。其中一个处理所有Wnd的东西,另一个处理一些文件管理。从其他线程调用UI类上的一些方法通常是一个好主意吗?例如,为了更新UI字段显示给用户的一些值。或者这是一种糟糕的做法,我必须向windows类发送消息?如果我们试图在UI线程中使用锁,GUI将频繁冻结,这是不可接受的,除非它是用于非常琐碎的工作。这里的最佳实践是什么?在处理UI时,我们是否应该只使用消息传递机制?

在UI上也有一些不涉及数据或变量的方法。例如,告诉窗口最大化。在这种情况下,在UI类中调用公共方法是不是很糟糕?

我忘了告诉你我在发送消息时遇到的问题。你的参数总是有两个指针,并且不容易定制。

EN

回答 1

Stack Overflow用户

发布于 2020-04-01 01:44:26

首先,用户界面也应该是轻量级和响应性的。要做到这一点,所有繁重的工作都应该由一个单独的线程处理,在这个线程中,它可以使用SendMessage()与主mfc线程进行通信。

最大化窗口等命令的开销相当小,并且可以在UI线程本身中完成。例如,要模拟较长的流程,UI可以使用动画进度条。

将UI从程序引擎中解耦也将使您的代码更加模块化、可重用,并且意图更加清晰。

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

https://stackoverflow.com/questions/60956309

复制
相关文章

相似问题

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