acquireReleaseConsume

memory_order_consume

/
std::memory_order_consume is the most legendary of the six memory models. That's for two reasons. On…
criticalRegion

Acquire-Release Semantic

/
With the acquire-release semantics, the memory model gets very thrilling. Because now, we do not have…
producerConsumer

Sequential Consistency applied

/
I have introduced In the post Sequential Consistency the default memory model. This model, in which all…
atomicOperationsReadWriteEng

Synchronization and Ordering Constraints

/
In this post, our tour through the c++ memory model goes one step deeper. Until now, the posts were only…
fetch mult

Atomics

/
In addition to booleans, there is atomics for pointers, integrals, and user-defined types. The rules…
conditionVariableAtomic

The Atomic Boolean

/
The remaining atomics - in contrast to std::atomic_flag - are partial or full specializations of the…
twoAtomics

Sequential Consistency

/
The atomics are the base of the C++ memory model. Per default, sequential consistency is applied. The…
BackgroundCpp

The Facebook Group Modernes C++

/
I created the facebook group Modernes C++. I see one big advantage in this group.     I…
spinLockSleep

The Atomic Flag

/
Atomics guarantee two characteristics. On the one hand, they are atomic, on the other, they provide synchronization…
ConditionVariableVersusTask

Thread Synchronization with Condition Variables or Tasks

/
In case you use promise and future to synchronize threads, they have much in common with condition variables.…