The active object pattern enforces decoupling of method execution from the method invocation and so enhances the concurrency and simplifies synchronized access to the objects that reside in their (own) threads of control.
We use this pattern where an application handles multiple client requests simultaneously to improve its quality of service.