Wednesday
Room 3
16:20 - 17:20
(UTC+02)
Talk (60 min)
Memory Model: Get your shared data under control
Come to this talk to understand the C++ memory model and learn about shared data synchronization challenges and their solutions. You will find out how to use all kinds of synchronization primitives available in C++ 20 in illustrative examples.
Sharing data in multi-thread programming may be tricky and there are plenty of options on how to deal with it. You should always go for the simplest possible scenario to not end up in trouble.
In this talk we will build up the whole story from illustrative examples which will allow us to understand all synchronization primitives available from C++ 20. We will also uncover what the memory model is and why we need it.
At the end, you should be able to spot problematic code parts, easily decide which synchronization technique to use and reason about it.
This session will be mostly about examples with all different synchronization primitives with a brief introduction to memory model theory. For a complex understanding of the topic I highly recommend attending the previous session in the same room "The Two Memory Models" by Anders Schau Knatten where you will get a solid theoretical background about memory model problematics.