CMutex クラス
「ミューテックスを」— 1 "のスレッドがリソースに排他アクセスできるようにする同期オブジェクトを表します。
class CMutex : public CSyncObject
メンバー
パブリック コンストラクター
名前 |
説明 |
---|---|
CMutex オブジェクトを構築します。 |
解説
ミューテックスには 1 種類のスレッドは一度にデータまたは他のマネージ リソースを変更できるようになるある場合に便利です。 たとえば、リンク リストにノードを追加するには、1 種類のスレッドによって一度に与える必要なプロセスです。 リンク リストを制御するために CMutex のオブジェクトを使用して 1 一つのスレッドだけがリストに同時にアクセス権を得ることができます。
必要な場合 CMutex のオブジェクトを使用するには、CMutex のオブジェクトを構築します。 アプリケーションが最初に、要素を所有することで待機するミューテックスの名前を指定します。 コンストラクターから戻るとミューテックスにアクセスできます。 被制御リソースにアクセスすると CSyncObject::Unlock を呼び出します。
CMutex のオブジェクトを使用するための代替メソッドは、制御するクラスのデータ メンバーとして、CMutex 型の変数を追加することです。 マネージ オブジェクトの構築時に、CMutex データ メンバーのミューテックスを所有されると最初に指定すると、ミューテックス (プロセス境界をまたいで使用する場合) 名前、および必要なセキュリティ属性のコンストラクターを呼び出します。
最初に制御されているリソースにアクセスする CSingleLock 型の変数を作成したり、リソースにアクセスのメンバー関数の CMultiLock を入力するに CMutex のこの方法でオブジェクト。 次に、ロック オブジェクトの Lock のメンバー関数 ( CSingleLock::Lock) を呼び出します。 この時点で、スレッドは、リソースが解放されるリソースの待機時間にアクセス権を獲得、アクセス権を獲得するか、待機し、リソースを解放すると時間など、リソースへのアクセスを表示できないことができます。 いずれの場合も、リソースはスレッド セーフな方法でアクセスされています。 リソースを解放する、ロック オブジェクトの Unlock のメンバー関数 (たとえば、) CSingleLock::Unlock使用する、またはスコープから離れるへのロック オブジェクトを許可します。
CMutex のオブジェクトの使用の詳細については、" " マルチスレッド: 同期クラスの使用方法を参照してください。
継承階層
CMutex
必要条件
ヘッダー : afxmt.h