次の方法で共有


CSingleLock クラス

マルチスレッド プログラムで 1 つのリソースのアクセス制御に使うアクセス コントロール機構を表します。

class CSingleLock

解説

CSingleLock には、基本クラスはありません。

同期クラスの CSemaphoreCMutexCCriticalSection、および CEvent を使うには、CSingleLock オブジェクトまたは CMultiLock オブジェクトのどちらかを作成して、同期オブジェクトでの待ち合わせや解放を行います。 一度に 1 つのオブジェクトだけを待機する必要がある場合は、CSingleLock を使用します。 同時に使用できる複数のオブジェクトがある場合は、CMultiLock を使用します。

CSingleLock オブジェクトを使うには、制御されるリソースのクラスのメンバー関数の内部でこのコンストラクターを呼び出します。 その後、リソースが利用できるかどうかを調べるために、IsLocked メンバー関数を呼び出します。 リソースが利用できる場合は、メンバー関数の残りの部分を続行します。 リソースが利用できないときは、リソースが解放されるまで指定された時間待つか、失敗して復帰します。 リソースを使い終わった後、CSingleLock オブジェクトを再利用するときは Unlock を呼び出し、再利用しないときは CSingleLock オブジェクトを破棄します。

CSingleLock オブジェクトは、CSyncObject から派生したオブジェクトを必要とします。 これは、通常制御されるリソースのクラスのデータ メンバーです。 使用する方法の詳細についてはCSingleLockオブジェクトの資料を参照して「マルチ スレッド:同期クラスの使用方法

必要条件

**ヘッダー:**afxmt.h

参照

参照

階層図

CMultiLock クラス

その他の技術情報

CSingleLock のメンバー