通常のシナリオでは、何か役に立つ MFC/Win32/WTL/wxWidgets/Qt アプリケーションがあります。シングルスレッドになるように設計されており、処理ブロック内のエラー/質問を処理するロジックがいくつかあります。
そのため、クラスの奥深くで、ユーザーに「アクションを完了してもよろしいですか?」/「ドキュメント レイアウトでエラーが発生しました」などのダイアログを表示することができます。
問題は、ダイアログが計算量の多い/strightforward コードから起動されることです。FFT/画像の鮮明化/ファイル システムのデフラグ機能、または線に沿った何かのように。GUI でない場合は、ワーカー スレッドで簡単に起動できます。ユーザーにとって非常に迷惑なGUIの停止を回避するため、そこに適しています。
ただし、GUI はワーカー スレッドでは機能せず、依存性注入を実行することはほとんど不可能です。someclass instance(data_in, data_out, param1, param2, GUI_class_ref) : m_GUI(GUI_class_ref), ...
3 つ以上のレベルの深さのように、クラス インターフェイスの観点から非常に不潔な方法で。
コードが複数のスレッドに分割されている場合、GUI プロンプトをメインスレッドにマーシャリングし、結果を計算コードのコアに戻すために使用できる、そのようなシナリオのパターン/チェックリストはありますか?