Dealing with Mutation: Guarded Suspension

Guarded Suspension applies a unique strategy to deal with mutation. It signals when it is done with its modification.

Read more
Views: 2172

Dealing with Mutation: Thread-Safe Interface

I continue my journey with concurrency patterns in today's post. The Thread-Safe Interface fits very well when the critical sections are just objects.

Read more
Views: 2568

Dealing with Mutation: Locking

Locking is a classical way to protect a shared, mutable state. Today, I will present the two variants, Scoped Locking and Strategized Locking.

Read more
Views: 2434

Dealing with Sharing

If you don’t share, no data races can happen. Not sharing means that your thread works on local variables. This can be achieved by copying the value, using thread-specific storage, or transferring the result of a thread to its associated future via a protected data channel.

Read more
Views: 5921

Concurrency Patterns

There are many well-established patterns used in the concurrency domain. They deal with synchronization challenges such as sharing and mutation but also with concurrent architectures. Today, I will introduce and dive deeper into them in additional posts.

Read more
Views: 4907


Event-driven applications, such as GUIs or servers, often apply the architecture pattern Reactor. A Reactor can accept multiple requests simultaneously and distribute them to different handlers.

Read more
Views: 5835


The Model-View-Controller (MVC) is one of the classic architectural patterns from the book "Pattern-Oriented Software Architecture, Volume 1". It addresses interactive applications with a  flexible human-machine interface.

Read more
Views: 7443


The Broker Pattern structures distributed software systems that interact with remote service invocations. It is responsible for coordinating the communication, its results, and exceptions.

Read more
Views: 6038


The Pipes-and-Filters architecture pattern describes the structure of systems that process data streams.

Read more
Views: 10451


The layers pattern splits a task into horizontal layers. Each layer has a specific responsibility and provides a service to a higher layer.

Read more
Views: 6249

Stay Informed about my Mentoring



English Books

Course: Modern C++ Concurrency in Practice

Course: C++ Standard Library including C++14 & C++17

Course: Embedded Programming with Modern C++

Course: Generic Programming (Templates)

Course: C++ Fundamentals for Professionals

Course: The All-in-One Guide to C++20

Course: Master Software Design Patterns and Architecture in C++

Subscribe to the newsletter (+ pdf bundle)

All tags

Blog archive

Source Code


Today 4043

Yesterday 4344

Week 40921

Month 21167

All 12099376

Currently are 168 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments