Designing for C++ Concurrency Using Message Passing
Offered By: ACCU Conference via YouTube
Course Description
Overview
Explore a comprehensive conference talk on designing concurrent C++ systems using message passing. Learn about the benefits and potential pitfalls of this approach, and dive into practical examples including dining philosophers and robot control systems. Discover how to structure code for better concurrency, avoid synchronization errors, and utilize message passing frameworks effectively. Gain insights from Anthony Williams, author of "C++ Concurrency in Action," as he demonstrates how to divide tasks, insulate application code from synchronization details, and implement state machines for robust concurrent systems.
Syllabus
Introduction
Agenda
Why Message Passing
The Cost
Potential Problems
Message Passing Framework
concurrency guarantees
control delivery mechanism
theory vs practice
focus
independent
value types
message handling
State machines
Dining philosophers
Actors
IO
Timing
philosophers
code
message
eating
timer expiry
managing the chopsticks
using chopsticks notify function
robot control system
central coordinator
moving the robot
waiting
in code
single thread
focus on one task
avoid overlap
message types
separate microservices
single threaded state machine
Taught by
ACCU Conference
Related Courses
Introduction to Artificial IntelligenceStanford University via Udacity Artificial Intelligence for Robotics
Stanford University via Udacity Computer Vision: The Fundamentals
University of California, Berkeley via Coursera Control of Mobile Robots
Georgia Institute of Technology via Coursera Artificial Intelligence Planning
University of Edinburgh via Coursera