Conference | Live Schedule | Talks | Get your ticket | Slides | Set your timezone
How to implement C++26 RCU
788819.jpg)
Denis Yaroshevskiy
On Day 1 at 13:15 (CET/Berlin) in Track B [Opal Room and online]
C++26 introduces two new low level concurrency primitives: rcu and hazard pointers.
Both can serve as fast, practical alternatives to locking - if you know how to use them.
In this talk we take a deep dive into the first one.
We start by looking at the simplest motivational example: a rarely updated config that is read by many threads.
Then we go through rcu implementations, progressively adding more and more interesting features and requirements.
While building rcu, we talk about the very low level concurrency primitives, including newer ones, such as asymmetric fences and atomic wait/notify.
I'll also briefly cover the hazard pointers API so you leave with a complete picture of both C++26 primitives.
Please login to comment