2.12.4. Synchronization

The functions of a messaging interface can differ in the degree of synchronization between the communication participants:

There is a distinction between blocking and synchronization. While blocking is typically understood to refer to programming language functions, synchronization is often understood to refer to communication operations which may involve calling several programming language functions. Thus, a nonblocking synchronous communication is not an oxymoron, but a legal combination of properties which can be achieved by employing a nonblocking send function that uses callback or polling to notify of message reception.