2011-01-31 12 views
0

私は、アプリケーションのインターフェイスとして機能するメインウィンドウとコンソールとして機能する2次モードレスダイアログという2つのコンポーネントで構成されるWin32アプリケーションを持っています。アプリケーションは、特定の(通常の)操作中に大量のデバッグテキストを生成します。スレッドコンソールウィンドウの効率的な実装

すべてのデバッグ印刷呼び出し中にコンソールの編集コントロールを更新しなければならないのは、自分の制約のためにかなり高価です。私の意図は、ワーカースレッドによって定期的にダンプされるクリティカルセクション同期メッセージキューを作成することです。そのような実装がどのようにコード化されるかについての提案はありがたいです。

+0

* CS-synchronized *とは何ですか? –

+0

クリティカルセクション - 同期。私は明確にするために質問を編集します。 – shadeMe

+0

この質問はあまりにも曖昧であり、より具体的にするようにしてください。どのような部分があなたには不明ですか? –

答えて

0

メインスレッドでタイマーを試してみましたが、十分に機能しました。ポスターへの感謝!

0

新しいスレッドを実行するのではなく、編集コントロールウィンドウでメッセージポンプをスリープ状態にしてみてください。

0

だけでマルチスレッドとGUIに関連し、この再発性の問題の世話をする:

は、別のスレッドから桂の要素にアクセスすることはありません、あなたはウィンドウにメッセージを投稿する必要があり、そのコードは時にメインスレッドで実行されますGUI内の何かを変更する。

1

ワーカースレッドでは、CSをロックして共有データ構造に追加します。 GUIスレッドでは、timerを設定し、WM_TIMERメッセージハンドラでは、CSをロックし、共有データ構造体から削除して、エディットコントロールに追加します。

+0

あなたの投稿はタイマーに試してみるように促し、うまくいった!どうもありがとう。 – shadeMe

関連する問題