ABA - A is not the same as A

A common problem in concurrency is the so-called ABA problem. That means you read a value twice and each time it returns the same value A. Therefore you conclude that nothing changed in between. But you forgot the B.

Read more
Tags: atomics
Add CommentViews: 1940

Which pdf bundle should I provide? Make your cross!

Now, it's time to choose the next pdf bundle? You will get all posts, all source files, and a cmake file to the chosen topic.

Read more
Add CommentViews: 2258

Blocking and Non-Blocking Algorithms

Blocking, non-blocking, lock-free and wait-free. Each of these terms describes a key characteristic of an algorithm when executed in a concurrent environment. So, reasoning about the runtime behaviour of your program often means to put your algorithm in the right bucket. Therefore, this post is about buckets.

Read more
Comments 4Views: 6424

Malicious Race Conditions and Data Races

This post is about malicious race conditions and data races. Malicious race conditions are race conditions that cause the breaking of invariants, blocking issues of threads, or lifetime issues of variables.

Read more
Add CommentViews: 1826

Looking for Proofreaders for my new Book: Concurrency with Modern C++

I'm looking for proofreaders of my new book. I'll give you a detailed insight in the current and the upcoming concurrency in C++. This insight includes the theory and a lot of practice.

Read more
Comments 2Views: 4788

Race Conditions versus Data Races

Race conditions and data races are related but different concepts. Because they are related, they are often confused. In German we even translate both expressions with the term kritischer Wettlauf. To be honest, that is very bad. In order to reason about concurrency, your wording must be exact. Therefore, this post is about race conditions and data races.

Read more
Add CommentViews: 3277

C++17: Improved Associative Containers and Uniform Container Access

C++11 has eight associative containers. With C++17, you can more comfortably insert new elements into them, merge existing associative containers, or move elements from one container into another if they are similar. But that is not all. The access to the associative and sequential container was unified.

Read more
Tags: C++17
Add CommentViews: 2782

My Newest E-Books

Latest comments

Subscribe to the newsletter (+ pdf bundle)

Blog archive

Source Code

Visitors

Today 372

All 496945

Currently are 153 guests and no members online