次の方法で共有


CSingleLock クラス

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

class CSingleLock

メンバー

パブリック コンストラクター

名前

説明

CSingleLock::CSingleLock

CSingleLock オブジェクトを構築します。

パブリック メソッド

名前

説明

CSingleLock::IsLocked

オブジェクトがロックされているかどうかを判定します。

CSingleLock::Lock

同期オブジェクトのを待ちます。

CSingleLock::Unlock

同期オブジェクトを解放します。

解説

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

同期クラスを CSemaphoreCMutex使用するには、CCriticalSectionCEventの待機する CSingleLockCMultiLock のオブジェクトを作成し、同期オブジェクトを解放する必要があります。 だけ 1 種類のオブジェクトに一度に待機する必要がある場合 CSingleLock を使用します。 ユーザーが特定の時刻に使用できる複数のオブジェクトがある場合 CMultiLock を使用します。

CSingleLock のオブジェクトを使用するには、マネージ リソース クラスのメンバー関数の中のコンストラクターを呼び出します。 次に、リソースが使用可能かどうかを確認するに IsLocked のメンバー関数を呼び出します。 そうである場合、メンバー関数の残りの部分を続行します。 リソースが使用できない場合は、解放されるリソースの一定の時間待機するかまたは失敗を返します。 リソースの使用が完了したら、CSingleLock のオブジェクトが再び使用する場合は、いずれかの呼び出しは [ロック解除] 関数または CSingleLock のオブジェクトが破棄されるようにします。

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

継承階層

CSingleLock

必要条件

ヘッダー : afxmt.h

参照

関連項目

階層図

CMultiLock クラス