MFC アプリケーションをスレッドセーフにするために書き直しています。アプリケーションは Document/View パターンを使用せず、データは一貫して処理されません。GUI のみのもの、構造体のもの、XML のものなどがあります。
したがって、一貫性のあるスレッドセーフな方法でデータを処理したいと考えています。1 つの構造体にすべてのデータがある場合、必要に応じて簡単にロックできます。
では、Document/View モデル全体をスキップして、データとプレゼンテーションを独自の方法で分離しても問題ないでしょうか?
アプリケーションは次のように機能します。
通信スタックは 1 つのスレッドで実行され、メッセージが受信されるとデータがロックされ、必要な変更が行われます。次に、メイン スレッドにメッセージを送信して、GUI を更新する必要があることを伝えます。GUI はデータをロックして読み取り、GUI を変更します。