次の方法で共有


CSingleLock クラス

更新 : 2007 年 11 月

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

class CSingleLock

解説

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

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

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

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

必要条件

ヘッダー : afxmt.h

参照

参照

階層図

CMultiLock クラス

その他の技術情報

CSingleLock のメンバ