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