Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore multithreading fundamentals and advanced lock-free programming techniques in this comprehensive conference talk from Meeting C++ 2025. Begin with essential multithreading primitives including mutual exclusion concepts, race conditions, mutex types, and mutex managers available in the C++ standard library. Examine the producer-consumer problem as a specific type of race condition, then implement a simple lock-based Single Producer Single Consumer (SPSC) queue using condition variables. Discover practical applications of C++ synchronization primitives including std::binary_semaphore, std::counting_semaphore, barriers, and latches through detailed examples. Transition into advanced topics with an in-depth exploration of atomic operations and the practical implications of memory ordering in concurrent programming. Learn about Compare-And-Swap (CAS) hardware instructions and their role in lock-free programming. Culminate your understanding by designing and implementing a complete lock-free SPSC queue, applying all the concepts covered throughout the presentation. This back-to-basics approach makes complex concurrent programming concepts accessible while building toward sophisticated lock-free data structure implementation.
Syllabus
Designing an SPSC Lock free queue - Quasar Chunawala - Meeting C++ 2025
Taught by
Meeting Cpp