Posts

BlockingNonBlocking

Blocking and Non-Blocking Algorithms

/
Blocking, non-blocking, lock-free, and wait-free. Each of these terms describes a key characteristic…
SingleThreadedAdditionEng

My Conclusion: Summation of a Vector in three Variants

/
After I've calculated in three different ways the sum of a std::vector I want to draw my conclusions.   The…
localVariable

Multithreaded: Summation with Minimal Synchronization

/
Until now, I've used two strategies to summate a std::vector. First, I did the whole math in one thread…
sukzessiveOptimierungRelaxedSemantikEng

Ongoing Optimization: Relaxed Semantics with CppMem

/
With the relaxed semantics, we have no synchronizations and ordering constraints on atomic operations. Relaxed…
relaxed

Relaxed Semantics

/
The relaxed semantics is the end of the scale. The relaxed semantic is the weakest of all memory models…
FullFence

Fences are Memory Barriers

/
The key idea of a std::atomic_thread_fence is to establish synchronization and ordering constraints between…
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…