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.
This author has not written his bio yet.
But we are proud to say that Rainer Grimm contributed 656 entries already.
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.
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 behavior of your program often means putting your algorithm in the right bucket. Therefore, this post is about buckets.
I’m looking for proofreaders for my new book. I’ll give you a detailed insight into the current and the upcoming concurrency in C++. This insight includes the theory and a lot of practice.
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.
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. That is very bad. To reason about concurrency, your wording must be exact. Therefore, this post is about race conditions and data races.
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 containers was unified.
The idea is quite simple. The Standard Template (STL) has more than 100 algorithms for searching, counting, and manipulating ranges and their elements. With C++17, 69 are overloaded, and a few new ones are added. The overloaded and new algorithm can be invoked with a so-called execution policy. By using the execution policy, you can […]
I have prepared the pdf bundle. To get it is quite simple.
What have std::optional, std::any, and std::variant in common? You can construct them in place. But that is not everything. A std::variant supports a visitor.
The winners of the next pdf bundles are.