TGViewer
Библиотека C/C++ разработчика | cpp, boost, qt Библиотека C/C++ разработчика | cpp, boost, qt @cppproglib · 16.8K subscribers
Post #4017 5.18K
RCU (Read-Copy-Update)

RCU (Read-Copy-Update) — это механизм синхронизации доступа к данным в многопоточных приложениях. Он позволяет избежать блокировок при чтении данных, делая копию для чтения и обновляя оригинал после того, как все чтения завершены.

RCU особенно полезен, когда чтение данных происходит гораздо чаще, чем запись.

В примере мы сначала берем rcu_read_lock, чтобы защитить чтение foo. В другом потоке происходит модификация foo с помощью rcu_assign_pointer, которая делает копию данных, а оригинал удаляется после synchronize_rcu.
Таким образом чтение в первом потоке происходит без блокировок и избегает конфликтов с изменением данных в другом потоке. RCU гарантирует, что указатель foo будет виден как старое значение в первом потоке.
#код
  • ❤ 11
  • 👍 6
  • 🔥 2
  • 🤔 1
More from @cppproglib
  1. Oct 14, 2026⚙️ mdspan: один буфер, две раскладки Шесть чисел можно представить матрицей 2×3 без копиро…
  2. Oct 13, 2026👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефо…
  3. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  4. Sep 13, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
  5. Sep 13, 2026🤩 Inline static в классах — забудь про .cpp Сколько раз ты забывал добавить определение s…
  6. Sep 13, 2026🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy выра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →