Thread-Safe Queue – Two Serious Errors
/
3 Comments
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…
Active Object
The active object design pattern decouples method execution from method invocation for objects that each…
Dealing with Mutation: Guarded Suspension
Guarded Suspension applies a unique strategy to deal with mutation. It signals when it is done with…
Dealing with Mutation: Thread-Safe Interface
I continue my journey with concurrency patterns in today's post. The Thread-Safe Interface fits very…
Dealing with Mutation: Locking
Locking is a classical way to protect a shared, mutable state. Today, I will present the two variants,…
Dealing with Sharing
If you don’t share, no data races can happen. Not sharing means that your thread works on local variables.…
Concurrency Patterns
There are many well-established patterns used in the concurrency domain. They deal with synchronization…
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…