Explore a multithreaded, transaction-based locking strategy for containers in this conference talk from C++Now 2019. Dive into the challenges of sharing containers among multiple threads in C++ applications, particularly when dealing with frequent write operations. Learn about an algorithm implemented in C++17 that provides atomicity, consistency, and isolation for simultaneous reads and writes on a single container. Discover how this approach, based on strict timestamp ordering, minimizes spatial overhead while avoiding data races and deadlocks. Examine the algorithm's pros, cons, and limitations, and compare its performance to other techniques. Gain insights into topics such as update groups, sharding, mutexes, and atomic integers. Follow along as the speaker presents code examples, design choices, and test strategies for implementing this locking strategy in your own projects.
A Multithreaded, Transaction-Based Locking Strategy for Containers