我正在重写MFC应用程序以使其成为线程安全的。应用程序不使用文档/视图模式,并且数据处理不一致。有些只在GUI中,有些在结构中,有些在XML中。
所以我想以一致的线程安全方式处理数据。如果我在一个结构中包含所有数据,则在需要时很容易锁定。
可以跳过整个文档/视图模型,只是以我自己的方式分离数据和演示文稿吗?
应用程序可以这样工作:
通信堆栈在一个线程中运行,当收到消息时,它会锁定数据并对其进行必要的更改。然后它会向主线程发送一条消息,告诉它需要更新GUI。然后,GUI将锁定数据并读取数据,然后更改GUI。
答案 0 :(得分:1)
简单的答案是肯定的,这样做是可以的。您可以完全自定义自己的演示文稿,如果需要,可以直接写入像素。执行锁定>数据访问 - >解锁 - >绘制看起来很明智;根据访问时间的不同,您也可以在锁内部进行绘制,或者更新锁中的DIB以便在锁外绘画...您有很多选择...