Differences between Monitors/Serializers and CSP/ADA

Monitor/Serializer CSP/Ada
The called procedure begins executing right away. It waits if the object is not in a proper state. The call is only accepted by the called procedure if certain conditions are satisfied.
Passive synchronization. Synchronization between active threads.
Inherently non-distributed. Possibility for distributed programming using synchronous message passing.