Thread-Safe Queue – Two Serious Errors

/
In my last post "Monitor Object"  I implemented a thread-safe queue. I made two serious errors.…

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…
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…