Overview
Explore lock-free programming techniques in modern C++ through this comprehensive conference talk from ACCU 2017. Delve into the world of thread-safe code for low-latency and real-time applications, focusing on the improvements introduced by the C++ standard, including std::atomic and a well-defined memory model for multithreaded code. Learn about atomic operations, lock-free and wait-free programming concepts, and common pitfalls to avoid. Discover practical use cases for lock-free programming, including safe data sharing across threads without locks or critical sections. Examine the implementation of a lock-free queue as a concrete example of lock-free data structures. Gain insights into when to use lock-free techniques and important considerations for their successful application in modern C++ development.
Syllabus
Introduction
Overview
Lock types
Time constraints
Lockfree guarantees
Lock Reprogramming
Atomic
Floats
Weak vs Strong
Atomic vs Lockfree
Is Lockfree
Instances
Why do they exist
The code
Exchange between threads
Lockfree queue
Dataraces
Implementation
Wait for you
Taught by
ACCU Conference