namespace std {
class rcu_domain;
}
概要
RCU同期メカニズムで保護する共有データに対応付ける、RCUドメインを表現する。
rcu_domain
クラスは Cpp17Lockable 要件を満たし、共有データの読み取りをおこなうRCU保護区間を表現する。
RCU保護区間はlock
呼び出しからunlock
呼び出しのまでの区間であり、RCUドメインに対して同一スレッド上でのRCU保護区間は入れ子になってもよい。
メンバ関数
名前 | 説明 | 対応バージョン |
---|---|---|
(constructor) |
コンストラクタ | C++26 |
operator= |
代入演算子 | C++26 |
lock |
共有データの読み取り開始を宣言 | C++26 |
try_lock |
共有データの読み取り開始を宣言 | C++26 |
unlock |
共有データの読み取り終了を宣言 | C++26 |
例
#include <rcu>
#include <mutex>
int main()
{
std::rcu_domain& dom = std::rcu_default_domain();
{
std::scoped_lock rlock(dom);
// dom.lock()が呼ばれる
} // dom.unlock()が呼ばれる
}
14
#include <rcu>
#include <mutex>
int main()
{
std::rcu_domain& dom = std::rcu_default_domain();
{
std::scoped_lock rlock(dom);
// dom.lock()が呼ばれる
} // dom.unlock()が呼ばれる
}
出力
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??