Skip to content

Latest commit

 

History

History
74 lines (54 loc) · 2 KB

rcu_domain.md

File metadata and controls

74 lines (54 loc) · 2 KB

rcu_domain

  • rcu[meta header]
  • class[meta id-type]
  • std[meta namespace]
  • cpp26[meta cpp]
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()が呼ばれる
}
  • std::rcu_domain[color ff0000]
  • std::rcu_default_domain[link rcu_default_domain.md]
  • std::scoped_lock[link /reference/mutex/scoped_lock.md]

出力

バージョン

言語

  • C++26

処理系

関連項目

参照