reader_writer_lock クラス

ローカルのみのスピンを行う、ライター優先キュー ベースのリーダー ライター ロックです。 ロックはライターに先入れ先出し (FIFO: First In First Out) アクセスを許可し、ライターに連続的な負荷がかかる状況ではリーダーが処理を実行できなくします。

class reader_writer_lock;

メンバー

パブリック クラス

名前

説明

reader_writer_lock::scoped_lock クラス

reader_writer_lock ロック オブジェクトをライターとして取得するために使用できる例外セーフ RAII ラッパー。

reader_writer_lock::scoped_lock_read クラス

reader_writer_lock ロック オブジェクトをリーダーとして取得するために使用できる例外セーフ RAII ラッパー。

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

名前

説明

reader_writer_lock::reader_writer_lock コンストラクター

新しい reader_writer_lock オブジェクトを構築します。

reader_writer_lock::~reader_writer_lock デストラクター

reader_writer_lock オブジェクトを破棄します。

パブリック メソッド

名前

説明

reader_writer_lock::lock メソッド

リーダー ライター ロックをライターとして取得します。

reader_writer_lock::lock_read メソッド

リーダー ライター ロックをリーダーとして取得します。 ライターが存在する場合、アクティブなリーダーは完了まで待機する必要があります。 リーダーはロックに対象を登録し、ライターが解放するまで待機します。

reader_writer_lock::try_lock メソッド

ブロックせずにリーダー ライター ロックをライターとして取得するよう試みます。

reader_writer_lock::try_lock_read メソッド

ブロックせずにリーダー ライター ロックをリーダーとして取得するよう試みます。

reader_writer_lock::unlock メソッド

リーダーとライターのどちらがロックしたかに基づいて、リーダー ライター ロックを解除します。

解説

詳細については、「同期データ構造」を参照してください。

継承階層

reader_writer_lock

必要条件

ヘッダー: concrt.h

名前空間: Concurrency

参照

参照

Concurrency 名前空間

critical_section クラス