C++Now 2021 has ended
Back To Schedule
Thursday, May 6 • 11:30am - 1:00pm
Designing Concurrent C++ Applications

Log in to save this to your schedule, view media, leave feedback and see who's attending!

We live in a multi-core area, yet our concurrency tools are still primitive. They resemble a lot the goto statement of the era before structured programming become mainstream. How can we improve that?

This session aims at raising the abstraction level from primitive tools like threads and locks to concurrent constructs, that, similar to design patterns, can be combined in various ways for the design of concurrent applications. We want to move the focus from micro-managing thread safety, to building concurrency in the application from design time. This will be done by walking through a series of examples, for each one extracting the concurrency constraints and then designing an appropriate solution. Performance numbers will be provided for all of these.

We will walk through a lot of code examples for building concurrent applications in C++, without using locks. The talk will touch subjects such as: tasks, executors, senders/receivers, and, of course, performance topics.

The overall goal of the talk is to show that concurrency can be approached systematically. The hope is that C++ programmers will abandon threads and synchronization primitives in the favour of high-level concurrency constructs.

avatar for Lucian Radu Teodorescu

Lucian Radu Teodorescu

Software Architect, Garmin

Thursday May 6, 2021 11:30am - 1:00pm MDT