Monitor Object

/
The monitor object design pattern synchronizes concurrent member function execution to ensure that only…
ConcurrencyPatterns

Active Object

/
The active object design pattern decouples method execution from method invocation for objects that each…
DealingWithMutation

Dealing with Mutation: Guarded Suspension

/
Guarded Suspension applies a unique strategy to deal with mutation. It signals when it is done with…
DealingWithMutation

Dealing with Mutation: Thread-Safe Interface

/
I continue my journey with concurrency patterns in today's post. The Thread-Safe Interface fits very…
DealingWithMutation

Dealing with Mutation: Locking

/
Locking is a classical way to protect a shared, mutable state. Today, I will present the two variants,…
Sharing

Dealing with Sharing

/
If you don’t share, no data races can happen. Not sharing means that your thread works on local variables.…
ConcurrencyPatterns

Concurrency Patterns

/
There are many well-established patterns used in the concurrency domain. They deal with synchronization…

My Next Mentoring Program: “C++20: Get the Details”

/
My next mentoring program, "C++20: Get the Details", starts in July. Registration will open in June.   Here…
Reactor

Reactor

/
Event-driven applications, such as GUIs or servers, often apply the architecture pattern Reactor. A Reactor…

Model-View-Controller

/
The Model-View-Controller (MVC) is one of the classic architectural patterns from the book "Pattern-Oriented…