タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

MFCとマルチスレッドに関するteracy_junkのブックマーク (2)

  • VC++「マルチスレッドの使用法」メモ(Hishidama's VC++Memo "MultiThread")

    マルチスレッドとは、スレッドを複数同時に動かすことです。普通のアプリケーションは 基的に1つのスレッドで動いています。 マルチスレッドと聞くと難しそうですが、MFCでは意外と簡単に出来ます。 ちなみに、「Windowsが擬似マルチスレッドだ~」というような議論は、ここではしません。 よく分からないしぃ。 典型的なマルチスレッドの使い方としては、 画面表示やユーザーからの入力を行うインターフェーススレッドと、 計算をごりごり行うワーカースレッドの2つのスレッドに分けるものがあります。 例えば、ワーカースレッドで計算を行い、その計算の進み具合を インターフェーススレッドのプログレスバーで表示するというものです。 ここでは、「バージョン情報」のダイアログにプログレスバーを付け、 ワーカースレッドで値を1ずつ増加させる処理を行い、 プログレスバーにその状況を表示させるサンプルを示します。 まずは

  • ワーカースレッドの作成方法

    「スレッド」、それは「処理単位」のことです。 実行されるアプリケーションひとつひとつを「プロセス」と呼びます。プロセスは最初にスレッドをひとつ持ちます。ウィンドウをいくつも作り、ウィンドウプロシージャが複数あっても、スレッドが同じならメッセージはひとつひとつ処理されます。 この問題はユーザーインターフェイスを著しく損ないます。例えばウィンドウのデバイスコンテキストに複雑な描画をするとします。描画に時間が掛かるため、ツールボックスに「停止」ボタンを作製しました。さて、いざ描画をシングルスレッド、つまりごく普通に処理した場合、最悪、描画中にはこのボタンを押すことすら不可能になります。 この問題を解決する方法が、マルチスレッドです。新たにスレッドを作製し、そのスレッドの中でメモリデバイスコンテキストへの描画をさせ、最後にウィンドウデバイスコンテキストへとコピーしてスレッドを終了させる、という方法

  • 1