我拥有一个ChildView拥有一个工作线程。 (我打算最终将其移至Doc)。当工作线程完成任务时,我希望所有视图都得到更新。我如何打电话告诉Doc发行UpdateAllViews()?还是有更好的方法?工作线程内的UpdateAllViews()?
谢谢。
由OP补充:我要寻找一个简单的解决方案。该应用程序运行在单个用户,单CPU电脑上,不需要网络(或Internet)访问。没有什么会导致僵局。
我想我想让工作线程发布(或发送)一条消息,以使视图更新。
我所读到的有关线程的一切似乎都比我需要的复杂得多 - 而且,我明白所有这些预防措施对于在多处理器,多用户,客户端 - 服务器系统等中运行的应用程序都是必需的。那些适用于我的情况。
我只是得到正确的组合获取窗口句柄,张贴消息和响应正确的函数和类中的消息编译和功能。
@Harvey:多线程不局限于多处理器/核心,多用户或客户端 - 服务器系统,你可以为陷入死锁甚至只要有多个线程和处理线程间通信时,最简单的情况就是如此。但是你想发布消息到GUI更新的主线程是好的(在工作线程中使用PostMessage,而不是SendMessage!)。这里是另一个有用的答案,与你非常密切相关的问题:http://stackoverflow.com/questions/391125/how-to-change-pane-text-of-status-bar-from-a-thread-in- mfc – Slauma 2010-04-08 00:11:09