Pass the PMP® Exam on Your First Try — Expert-Led Training
Get 20% off all career paths from fullstack to AI
Overview
Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
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