Introduction

A Guide to Follow This Course

C++11 and C++14: The Foundation

Multithreading in C++

Case Studies

C++17: Parallel Algorithms of the Standard Template Library

C++20: The Concurrent Future

Challenging Issues in C++

Memory Model: The Contract

The Contract

The Foundation & Challenges

Memory Model: Atomics

Strong Memory Model

Weak Memory Model

The Atomic Flag

Spinlock vs. Mutex

std::atomic<bool>