Provides the interfaces defining the functionality of monitors and condition queues (sometimes known as condition variables).

The interfaces do not define the particular semantics of any known monitor type (Hoare, Brinch-Hansen, Modula-3, Java etc) rather they define generic functionality for monitors and condition queues.

The interfaces are not intended for direct implementation by a concrete class, but rather serve as mix-ins to be combined into an interface that defines a monitor or condition queue with particular semantics. For example, {@link ovm.services.java.JavaMonitor} combines all the attributes of timed and interruptable condition queue methods, together with the semantics specific to Java (such as requiring monitor ownership before doing a condition signal).

To avoid confusion with any particular semantics we have chosen a general nomenclature. @see ovm.services.java.JavaMonitor