Overview
Explore the intricacies of lock-free programming through the development of a complex multi-producer, multi-consumer, growing, shrinking, mostly contiguous, lock-free circular queue in this CppNow conference talk. Delve into common challenges encountered in lock-free programming, examining various solutions and their trade-offs. Learn about general threading concepts, queue implementations, and specific issues such as undefined behavior, push problems, and buffer management. Gain insights into multithreaded programming techniques and the compromises necessary when designing efficient lock-free data structures. While the complete queue implementation may not be finished within the talk's duration, acquire valuable knowledge about advanced concurrent programming concepts and practices.
Syllabus
Intro
General guide to threading
What is a queue
Why queue
Head and tail
undefined behavior
push problem
readhead
getting past tail
Pacman is happy
Making compromises
Checking the buffer
Lockfree programming
Multithreaded programming
Taught by
CppNow