各アプリケーションには、1 つだけのアプリケーション オブジェクトがあります。このオブジェクトは、実行中のプログラム内の他のオブジェクトを調整し、 CWinApp
から派生します。
Microsoft Foundation Class (MFC) ライブラリは、アプリケーション内で複数の実行スレッドをサポートします。 すべてのアプリケーションには、少なくとも 1 つのスレッドが必要です。 CWinApp
オブジェクトによって使用されるスレッドがこのプライマリ スレッドです。
CWinThread
は、オペレーティング システムのスレッド機能の一部をカプセル化します。 複数のスレッドを簡単に使用できるように、MFC には、Win32 同期オブジェクトに C++ インターフェイスを提供する同期オブジェクト クラスも用意されています。
アプリケーション クラスとスレッド クラス
CWinApp
アプリケーションを初期化、実行、および終了するコードをカプセル化します。 このクラスからアプリケーション オブジェクトを派生させます。
CWinThread
すべてのスレッドの基本クラス。 スレッドがユーザー インターフェイス関数を実行する場合は、直接使用するか、 CWinThread
からクラスを派生させます。
CWinApp
は、CWinThread
から派生しています。
同期オブジェクト クラス
CSyncObject
同期オブジェクト クラスの基本クラス。
CCriticalSection
1 つのプロセス内の 1 つのスレッドのみがオブジェクトにアクセスできるようにする同期クラス。
CSemaphore
オブジェクトへの同時アクセスの 1 つから指定された最大数までの間で許可される同期クラス。
CMutex
任意の数のプロセス内の 1 つのスレッドのみがオブジェクトにアクセスできるようにする同期クラス。
CEvent
イベントが発生したときにアプリケーションに通知する同期クラス。
CSingleLock
スレッド セーフ クラスのメンバー関数で、1 つの同期オブジェクトをロックするために使用されます。
CMultiLock
スレッド セーフ クラスのメンバー関数で、同期オブジェクトの配列から 1 つ以上の同期オブジェクトをロックするために使用されます。
関連クラス
CCommandLineInfo
プログラムが開始されたコマンド ラインを解析します。
CWaitCursor
待機カーソルを画面に置きます。 長い操作中に使用されます。
CDockState
コントロール バーのドッキング状態データの永続的なストレージを処理します。
CRecentFileList
最近使用した (MRU) ファイルの一覧を保持します。