0

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

所以我想以一致的、线程安全的方式处理数据。如果我将所有数据都放在一个结构中,则在需要时很容易锁定。

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

该应用程序将像这样工作:

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

4

1 回答 1

1

简单的答案是肯定的,这样做是可以的。您可以完全自定义编写自己的演示文稿,如果您愿意,可以精确到像素。做 lock->data access->unlock->paint 似乎是明智的;根据访问时间,您也可以在锁内进行绘画,或者更新锁中的 DIB 以在锁外绘画...您有很多选择...

于 2013-08-15T14:47:57.927 回答