Definition:
Synchronizes method execution to ensure only one method runs within an object at a time. Also known as Thread-safe Passive Object
Example:
When synchronization logic is too complicated, define each object accessed concurrently by client threads as monitor object.
C++ code:
/src/monitorobject.cpp