最終更新日時: 2025年02月06日 10時48分43秒 (JST)
yoh が更新

履歴 編集

<rcu>

# rcu(C++26)

`<rcu>`ヘッダでは、並行なデータの参照・更新を実現するRead-Copy Update(RCU)機構のための部品を定義する。

RCU同期メカニズムは、複数スレッド間で共有されるリンク方式データ構造が高頻度で参照され、稀に更新されるようなユースケースに適している。RCU機構のデータ読み取りではスレッド間の排他制御を行わず、更新操作により不要となった古いデータを安全に回収（メモリ解放）するタイミングを制御する。

名前 | 説明 | 対応バージョン
--- | --- | ---
`rcu_obj_base` | RCU対象オブジェクトの基底クラス(class template) | C++26
`rcu_domain` | RCUドメイン(class) | C++26
`rcu_default_domain` | デフォルトのRCUドメイン取得(function) | C++26
`rcu_synchronize` | RCUドメインのアンロック完了を待機(function) | C++26
`rcu_barrier` | メモリ回収操作完了を待機(function) | C++26
`rcu_retire` | メモリ回収操作をスケジュール(function template) | C++26

## バージョン

### 言語

- C++26

### 処理系

- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??

## 関連項目

- `<hazard_pointer>`

## 参照

- P2545R4 Read-Copy Update(RCU)