C++ MFC和线程。跳过文档/视图并制定自己的解决方案?

C++ MFC和线程。跳过文档/视图并制定自己的解决方案?,c++,mfc,thread-safety,C++,Mfc,Thread Safety,我正在重写一个MFC应用程序,使其线程安全。应用程序不使用文档/视图模式,数据处理也不一致。有些仅在GUI中,有些在结构中,有些在XML中 因此,我希望以一致、线程安全的方式处理数据。如果我在一个结构中拥有所有数据,那么在需要时很容易锁定 那么,跳过整个文档/视图模型,以我自己的方式将数据和表示分离,可以吗 应用程序的工作原理如下: 通信堆栈在一个线程中运行,当收到消息时,它将锁定数据并对其进行必要的更改。然后它会向主线程发送一条消息,告诉它GUI需要更新。然后GUI会锁定数据并读取数据,然后更

我正在重写一个MFC应用程序,使其线程安全。应用程序不使用文档/视图模式,数据处理也不一致。有些仅在GUI中,有些在结构中,有些在XML中

因此,我希望以一致、线程安全的方式处理数据。如果我在一个结构中拥有所有数据,那么在需要时很容易锁定

那么,跳过整个文档/视图模型,以我自己的方式将数据和表示分离,可以吗

应用程序的工作原理如下:


通信堆栈在一个线程中运行,当收到消息时,它将锁定数据并对其进行必要的更改。然后它会向主线程发送一条消息,告诉它GUI需要更新。然后GUI会锁定数据并读取数据,然后更改GUI。

简单的答案是肯定的,可以这样做。您可以完全自定义编写自己的演示文稿,如果需要,可以按字面上的像素顺序编写。执行锁定->数据访问->解锁->绘制似乎是明智的;根据访问时间的不同,您可能还可以在锁内部绘制,或者更新锁中的DIB以在锁外部绘制。。。你有很多选择