タグ

mfcとスレッドに関するdelegateのブックマーク (2)

  • 重い処理中にステータス(状態)を表示するダイアログの実装(ユーザーインターフェーススレッド) - ドナドナされるプログラマのメモ

    解決したい課題 MFCを使ったソフトにおいて重い処理をしている最中に、進捗等を表示するダイアログを表示したくなることは多々ある。しかし、単純にダイアログを作って表示しようとしても、以下のようにうまく行かないことが多い。 重い処理が終わるまでダイアログが表示されない ダイアログは表示されるが、表示内容が更新されない 何が原因か これらが起きるのは、今の処理が終わらないとダイアログを表示するための処理が実行されないためである。ダイアログの表示やコントロールの変更を処理するメッセージはダイアログのメッセージプロシージャで処理されるのだが、困ったことにこのメッセージプロシージャは、デフォルトではメインウィンドウのメッセージプロシージャに接続されてしまうようなのだ。そのため、メインウィンドウのメッセージプロシージャが重い処理によって応答しなくなった場合、ダイアログの方も応答が止まり上記の症状が発生す

    重い処理中にステータス(状態)を表示するダイアログの実装(ユーザーインターフェーススレッド) - ドナドナされるプログラマのメモ
  • ( 'o') マルチスレッド : プログラミングのヒント

    MSDNに昔からある古い説明がある。 俺は、紛らわしい、嘘、判り難いなどと考えている。 古いまま直されていないから仕方ないんだけど誤解が多いからな。 とりあえず全文を載せる。全文だと引用ではなくなってしまうのだが、URLだと変わることがあるので。 マルチスレッド : プログラミングのヒント マルチスレッド アプリケーションでデータにアクセスするときは、シングルスレッドの場合より慎重に行う必要があります。マルチスレッドアプリケーションでは、複数のスレッドがそれぞれ個別に同時に実行されるので、アルゴリズムやデータに関して、複数のスレッドで同じデータが使われることを考慮する必要があります。ここでは、MFC (Microsoft Foundation Class) ライブラリを使ってマルチスレッドアプリケーションを開発するときに、このような問題を回避する手法について説明します。 * 複数のスレッド

  • 1