c++ - 处理消息太慢,导致 UI 不稳定、无响应 - 如何使用多线程来缓解这种情况?

标签 c++ windows multithreading winapi message-queue

我无法让我的应用响应用户操作。因此,我想在多个线程之间拆分消息处理。

我可以简单地创建几个线程,从所有线程中的同一个消息队列中读取,并让其中一个能够处理每条消息吗?

如果可以,如何实现?

如果没有,您能否建议另一种解决此问题的方法?

最佳答案

与消息泵或任何 UI 元素交互的线程不能超过一个。那就是疯狂。

如果有可以外包给工作线程的长时间处理任务,您可以这样做,但您必须使用另一个线程安全队列来管理它们。

关于c++ - 处理消息太慢,导致 UI 不稳定、无响应 - 如何使用多线程来缓解这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/783073/

相关文章:

c++ - 此代码在 C++ 中的有效片段

C++ 循环无法正常工作

c++ - 在 32 位 Linux 上编译代码时出现未声明错误 'gtk_window_set_keep_above'

c++ - FindwindowEx for Outlook 2010

C++ 半透明窗口 SDL

Python/Django开发,windows还是linux?

c# - Windows服务自动启动和停止,异常处理问题

c# - 如何判断子线程是否完成

.net - 终结器线程的范围是什么 - 每个应用程序域或每个进程?

Java,ThreadPoolExecutor,afterExecute,重新提交任务?