Gain a Splash of New Skills - Coursera+ Annual Just ₹7,999
Launch Your Cybersecurity Career in 6 Months
Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn to build robust inter-process communication queues in C++ through this conference talk that exposes the critical differences between thread-based and process-based queue implementations. Discover why the C++ standard's single mention of cross-process atomic operations has led to widespread misinformation and incorrect implementations across Stack Overflow and programming blogs. Examine two popular open-source SPSC (Single Producer Single Consumer) C++ queue implementations by Daugaard and Rigtorp to understand the fundamental changes required when moving from intra-process to inter-process shared memory usage. Explore how traditional queue APIs become inadequate for inter-process communication and learn about alternative designs that separate the interface into three distinct components. Tackle complex implementation challenges including maintaining implicit lifetime properties while restricting dangerous operations, handling process death during critical sections, and enforcing type constraints that differ between copy and direct-access strategies. Advance to MCAST (multicast) queues where each consumer must see every message, requiring sophisticated solutions for message delivery guarantees and slow reader handling. Navigate the cascade of subtle failures that emerge when crossing process boundaries and develop comprehensive approaches to shared memory queues that survive the harsh realities of production systems where processes die unexpectedly, readers stall, and standard tools behave unpredictably.
Syllabus
Building Robust Inter-Process Queues in C++ - Jody Hagins - C++ on Sea 2025
Taught by
cpponsea