CSingleLock クラス
マルチスレッド プログラムで 1 つのリソースのアクセス制御に使うアクセス コントロール機構を表します。
class CSingleLock
解説
CSingleLock には、基本クラスはありません。
同期クラスの CSemaphore、CMutex、CCriticalSection、および CEvent を使うには、CSingleLock オブジェクトまたは CMultiLock オブジェクトのどちらかを作成して、同期オブジェクトでの待ち合わせや解放を行います。 一度に 1 つのオブジェクトだけを待機する必要がある場合は、CSingleLock を使用します。 同時に使用できる複数のオブジェクトがある場合は、CMultiLock を使用します。
CSingleLock オブジェクトを使うには、制御されるリソースのクラスのメンバー関数の内部でこのコンストラクターを呼び出します。 その後、リソースが利用できるかどうかを調べるために、IsLocked メンバー関数を呼び出します。 リソースが利用できる場合は、メンバー関数の残りの部分を続行します。 リソースが利用できないときは、リソースが解放されるまで指定された時間待つか、失敗して復帰します。 リソースを使い終わった後、CSingleLock オブジェクトを再利用するときは Unlock を呼び出し、再利用しないときは CSingleLock オブジェクトを破棄します。
CSingleLock オブジェクトは、CSyncObject から派生したオブジェクトを必要とします。 これは、通常制御されるリソースのクラスのデータ メンバーです。 使用する方法の詳細についてはCSingleLockオブジェクトの資料を参照して「マルチ スレッド:同期クラスの使用方法。
必要条件
**ヘッダー:**afxmt.h