keywords: C++, Memory Ordering Notes


Memory ordering

Memory ordering


Memory Ordering at Compile Time

Memory Reordering Caught in the Act

Concurrency: Atomic and volatile in C++11 memory model


Single producer single consumer command queue

Deprecation of _writeBarrier()

C++ and the Perils of Double-Checked Locking

Memory barrier (Memory fence)

Understanding c++11 memory fences

Memory barrier


Does the C++ volatile keyword introduce a memory fence?

Does the C++ volatile keyword introduce a memory fence?
It depends on which compiler “the compiler” is. Visual C++ does, since 2005. But the Standard does not require it, so some other compilers do not.



Memory Reordering

Understanding memory reordering

浅谈Memory Reordering

C++11中的内存模型上篇 - 内存模型基础

C++11中的内存模型下篇 - C++11支持的几种内存模型

Understanding Atomics and Memory Ordering

volatile (Thread safe queue)

Creating a thread safe producer consumer queue in C++ without using locks

Single producer single consumer lock-free queue C++ implementation

Stay away from Volatile in threaded code?

C++11’s atomic and volatile, under the hood on x86


Stack & Heap

Stack vs Heap Memory in C++

Efficiency is doing the thing right. Effectiveness is doing the right thing. ― Peter F. Drucker