Advanced C++
Concurrency and atomics

These talks discuss concurrency, atomics, and the C++ memory model.

Lock-Free Programming (or, Juggling Razor Blades), Part 1

Lock-Free Programming (or, Juggling Razor Blades), Part 2

atomic<> Weapons - The C++ Memory Model and Modern Hardware, Part 1

atomic<> Weapons - The C++ Memory Model and Modern Hardware, Part 2

The speed of concurrency (is lock-free faster?)

Examples of Lock-Free Data Structures

An atomic std::forward_list implementation: atomic_forward_list.h.
An atomic std::stack implementation: atomic_stack.h.

Beware of implementation bugs. If any are found, file a bug at https://github.com/calcmogul/atomic_lib/.