# C++ Atomics: An Overview

- Institution: CERN
- Department: HEP Computing
- Speaker: Abhishek Lekshmanan
- Year: 2022
- Language: English
- Subjects: Computer science
- Source: [CERN](https://videos.cern.ch/record/3009068)
- Licence: [CERN](http://copyright.web.cern.ch)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

std::atomic introduced since C++11 is used as a building block for lock free programming. However while the default flags provide the maximum consistency; the do come with a performance penalty and may not be what you want in all cases. We will look under the hood, at a top level on what the processor sees when an atomic is encountered, the acquire and release semantics, which are fundamentally what mutexes use; and thus understand what the various memory order flags mean and when it is safe (or unsafe) to use them.

## Lectures

1. [C++ Atomics: An Overview](https://invisiblenetwork.ai/learn/cern/3009068/fac67409a156), 12 min (CERN's player)
