2.12.3. Blocking

The functions of a messaging interface can differ in their blocking properties. Formally, these are related to the guarantee that a function returns in a finite number of its own steps regardless of the actions of other communication participants:

In simple communication scenarios, the use of blocking operations typically yields shorter and more readable code than the use of nonblocking operations. In complex communication scenarios, where parallel execution of multiple actions is required, the use of nonblocking operations might be necessary.