File tree Expand file tree Collapse file tree 3 files changed +38
-2
lines changed
Expand file tree Collapse file tree 3 files changed +38
-2
lines changed Original file line number Diff line number Diff line change @@ -98,7 +98,7 @@ C++26とは、2026年中に改訂される予定の、C++バージョンの通
9898## ライブラリ更新の概要
9999### 新ライブラリ
100100- 文字列エンコーディングを識別するライブラリとして、[ ` <text_encoding> ` ] ( /reference/text_encoding.md.nolink ) を追加
101- - 並行処理におけるデータの参照・更新を行うRCU (Read Copy Update) のライブラリとして、[ ` <rcu> ` ] ( /reference/rcu.md.nolink ) を追加
101+ - 並行処理におけるデータの参照・更新を行うRCU (Read Copy Update) のライブラリとして、[ ` <rcu> ` ] ( /reference/rcu.md ) を追加
102102- 並行処理において参照中のデータが更新されないよう保護するハザードポインタのライブラリとして、[ ` <hazard_pointer> ` ] ( /reference/hazard_pointer.md.nolink ) を追加
103103- データ並列ライブラリとして、[ ` <simd> ` ] ( /reference/simd.md.nolink ) を追加
104104- デバッグサポートのライブラリとして[ ` <debugging> ` ] ( /reference/debugging.md ) を追加
Original file line number Diff line number Diff line change 208208| [ ` <latch> ` ] ( /reference/latch.md ) | ラッチ同期 | C++20 |
209209| [ ` <barrier> ` ] ( /reference/barrier.md ) | バリア同期 | C++20 |
210210| [ ` <future> ` ] ( /reference/future.md ) | Future | C++11 |
211- | [ ` <rcu> ` ] ( /reference/rcu.md.nolink ) | データの参照・更新 | C++26 |
211+ | [ ` <rcu> ` ] ( /reference/rcu.md ) | データの参照・更新 | C++26 |
212212| [ ` <hazard_pointer> ` ] ( /reference/hazard_pointer.md.nolink ) | ハザードポインタ | C++26 |
213213| [ ` <simd> ` ] ( /reference/simd.md.nolink ) | データ並列 | C++26 |
214214
Original file line number Diff line number Diff line change 1+ # rcu
2+ * rcu[ meta header]
3+ * cpp26[ meta cpp]
4+
5+ ` <rcu> ` ヘッダでは、並行なデータの参照・更新を実現する[ Read-Copy Update(RCU)機構] ( https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E3%83%89%E3%83%BB%E3%82%B3%E3%83%94%E3%83%BC%E3%83%BB%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88 ) のための部品を定義する。
6+
7+ RCU同期メカニズムは、複数スレッド間で共有されるデータが高頻度で参照され、稀に更新されるようなユースケースに適している。RCU機構はスレッド間の排他制御を行わず、更新操作により不要となった古いデータを安全に解放するタイミング制御を行う。
8+
9+
10+ | 名前 | 説明 | 対応バージョン |
11+ | -----------------| ----------------| ----------------|
12+ | [ ` rcu_obj_base ` ] ( rcu/rcu_obj_base.md.nolink ) | RCU対象オブジェクトの基底クラス(class template) | C++26 |
13+ | [ ` rcu_domain ` ] ( rcu/rcu_domain.md.nolink ) | RCUドメイン(class) | C++26 |
14+ | [ ` rcu_default_domain ` ] ( rcu/rcu_default_domain.md.nolink ) | デフォルトのRCUドメイン取得(function) | C++26 |
15+ | [ ` rcu_synchronize ` ] ( rcu/rcu_synchronize.md.nolink ) | RCUドメインのアンロック完了を待機(function) | C++26 |
16+ | [ ` rcu_barrier ` ] ( rcu/rcu_barrier.md.nolink ) | メモリ解放操作完了を待機(function) | C++26 |
17+ | [ ` rcu_retire ` ] ( rcu/rcu_barrier.md.nolink ) | メモリ解放操作をスケジュル(function template) | C++26 |
18+
19+
20+ ## バージョン
21+ ### 言語
22+ - C++26
23+
24+ ### 処理系
25+ - [ Clang] ( /implementation.md#clang ) : ??
26+ - [ GCC] ( /implementation.md#gcc ) : ??
27+ - [ ICC] ( /implementation.md#icc ) : ??
28+ - [ Visual C++] ( /implementation.md#visual_cpp ) : ??
29+
30+
31+ ## 関連項目
32+ - [ ` <hazard_pointer> ` ] ( hazard_pointer.md.nolink )
33+
34+
35+ ## 参照
36+ - [ P2545R4 Read-Copy Update(RCU)] ( https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2545r4.pdf )
You can’t perform that action at this time.
0 commit comments