CMutex

「ミュー テックス」特価; CMutexクラスのオブジェクトを表す ? リソースへの 1 つのスレッドの相互に排他的なアクセスを許可する同期オブジェクト。ミュー テックスはデータまたはいくつかの他のコントロールのリソースを変更するには、一度に 1 つだけのスレッドをできる場合に役立ちます。たとえば、ノード、リンクのリストに追加するだけ 1 つのスレッドによって同時にされるべきプロセスです。CMutexオブジェクトを使用して、リンクのリストを制御するには、一度に 1 つだけのスレッド リストへのアクセスを得ることができます。(&N)。

CMutexオブジェクトを使用するには、それが必要な場合、 CMutexオブジェクトを構築します。待機するミュー テックスの名前を指定し、アプリケーション最初それを所有する必要があります。コンス トラクターが返されるとき、ミュー テックスをアクセスできます。完了したら、 CSyncObject::Unlockを呼び出す、制御されるリソースへのアクセス。

CMutexオブジェクトを使用する別の方法を制御したいクラスにデータ メンバーとして型CMutexの変数を追加することです。制御されるオブジェクトの構築中に、ミュー テックスが最初に所有、(プロセス間にまたがって使う場合)、ミュー テックスの名前とセキュリティ属性が必要なかどうかを指定する、 CMutexデータ メンバーのコンス トラクターを呼び出す。

CMutexオブジェクトこの方法で制御されているリソースにアクセスするには、 CSingleLockいずれかの型の変数を作成する最初 またはCMultiLockをリソースのアクセス メンバー関数で入力します。ロック オブジェクトのLockメンバー関数 (たとえば、 CSingleLock::Lock) を呼び出してください。この時点で、スレッドはリソースへのアクセスを得るためがリソースの解放されるとアクセス、またはリリースされるリソースと時間をリソースへのアクセスに失敗するを待つを待ちます。いずれの場合では、リソースがスレッド セーフな方法でアクセスされました。リソースを解放するには、ロック オブジェクトのロックを解除するメンバー関数 (たとえば、 CSingleLock::Unlock) を使用するか、スコープ外には、ロック オブジェクトを許可。

CMutexオブジェクトの使い方の詳細については、参照してください 「マルチ スレッド: 同期クラスの使用方法Visual の C++ プログラマのガイド

#include lt;afxmt.h>

クラス メンバーの |nbsp;基本クラス|階層図(&N)

サンプル特価; MFC サンプル ミュー テックス(&N)

Index