Thread-Safe Initialization of a Singleton
/
0 Comments
There are a lot of issues with the singleton pattern. I'm aware of that. But the singleton pattern is…
Ongoing Optimization: Relaxed Semantics with CppMem
With the relaxed semantics, we have no synchronizations and ordering constraints on atomic operations.
Relaxed…
Ongoing Optimization: A Data Race with CppMem
But we can improve and further improve the acquire-release semantics of the last post. Why should x be…
Ongoing Optimization: Acquire-Release Semantics with CppMem
With the acquire-release semantics, we break the sequential consistency. In the acquire-release semantics,…
Ongoing Optimization: Sequential Consistency with CppMem
With atomic data types, you can tailor your program to your needs and optimize it. But now we are in…
Ongoing Optimization: Locks and Volatile with CppMem
The easiest way to solve the undefined behaviour in the post Ongoing Optimization: Unsynchronized access…
Ongoing Optimization: Unsynchronized Access with CppMem
I described my challenge in the last post. Let's 's start with our process of ongoing optimization. To…
Ongoing Optimization
Now it's time to put the theory into practice. The job is relatively easy. A small program should undergo…
CppMem – An Overview
CppMem is an interactive tool for exploring the behavior of small code snippets of the C++ memory model.…
Relaxed Semantics
The relaxed semantics is the end of the scale. The relaxed semantic is the weakest of all memory models…