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


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

The Atomic Boolean

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

Sequential Consistency

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

The Facebook Group Modernes C++

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

The Atomic Flag

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

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.…

C++ Memory Model

Since C++11, C++ has a memory model. It is the foundation for multithreading. Without it, multithreading…

The Special Futures

The parent of a thread has to take care of their child. The parent can wait until his child is done or…

Promise and Future

With std::promise and std::future, you have full control over the task. Full control over the task A…