Dive into the fundamentals of lock-free programming in this comprehensive conference talk. Begin with the basics of shared data access problems and progress to advanced lock-free solutions. Explore atomicity concepts, the CAS instruction, and CAS-loops. Examine the Double-Checked-Locking Pattern (DCLP) pitfalls and learn how to avoid them using memory barriers. Gain insights into multi-CPU operations through an understandable model based on read-request and write-request queues. Study the implementation of a lock-free stack and understand the ABA problem along with its prevention techniques. Get a glimpse of cutting-edge developments in lock-free programming, including optimistic relaxed memory operations. Conclude by exploring how Boost and C++0x impact the future of lock-free programming.
Overview
Syllabus
Tony Van Eerd: The Basics of Lock-free Programming
Taught by
CppNow