Closely related to the concept of reliable messaging is that of conditional messaging, which involves the establishment of various conditions that apply to how and when a message is to be delivered.
The atomic variable classes can be thought of as a generalization of volatile variables, extending the concept of volatile variables to support atomic conditional compare-and-set updates.
We shall discuss conditional probability first, because the concept of joint probabilitlies is best illustrated by using conditional probabilities as a basis.