CSingleLock クラス
マルチスレッド プログラムで 1 つのリソースのアクセス制御に使うアクセス コントロール機構を表します。
class CSingleLock
メンバー
パブリック コンストラクター
名前 |
説明 |
---|---|
CSingleLock オブジェクトを構築します。 |
パブリック メソッド
名前 |
説明 |
---|---|
オブジェクトがロックされているかどうかを判定します。 |
|
同期オブジェクトのを待ちます。 |
|
同期オブジェクトを解放します。 |
解説
CSingleLock には、基本クラスはありません。
同期クラスを CSemaphore、CMutex使用するには、CCriticalSectionと CEventの待機する CSingleLock か CMultiLock のオブジェクトを作成し、同期オブジェクトを解放する必要があります。 だけ 1 種類のオブジェクトに一度に待機する必要がある場合 CSingleLock を使用します。 ユーザーが特定の時刻に使用できる複数のオブジェクトがある場合 CMultiLock を使用します。
CSingleLock のオブジェクトを使用するには、マネージ リソース クラスのメンバー関数の中のコンストラクターを呼び出します。 次に、リソースが使用可能かどうかを確認するに IsLocked のメンバー関数を呼び出します。 そうである場合、メンバー関数の残りの部分を続行します。 リソースが使用できない場合は、解放されるリソースの一定の時間待機するかまたは失敗を返します。 リソースの使用が完了したら、CSingleLock のオブジェクトが再び使用する場合は、いずれかの呼び出しは [ロック解除] 関数または CSingleLock のオブジェクトが破棄されるようにします。
CSingleLock のオブジェクトは CSyncObjectから派生したオブジェクトが存在する必要があります。 これは通常、マネージ リソース クラスのデータ メンバーです。 CSingleLock のオブジェクトを使用する方法の詳細については、" " マルチスレッド: 同期クラスの使用方法を参照してください。
継承階層
CSingleLock
必要条件
ヘッダー : afxmt.h