Definitions for "Condition variable"
Condition variables can be considered as part of the monitor synchronization mechanism. A condition variable is used by a process or thread to delay until the monitor's state satisfies some condition; it is also used to awaken a delayed process when the condition becomes true. Associated with each condition variable is a queue of suspended (delayed) processes or threads. Operations on a condition variable include wait (add this process or thread to the queue for this variable) and signal (awaken a process or thread from the queue for this variable). Different implementations of signal are possible; it may be guaranteed to awaken the process at the head of the queue, or it may be simply guaranteed to awaken some process from the queue. See monitor. A good reference is [Andrews91].
A POSIX threads object that facilitates coarse-grained synchronization among threads. It is generally used in conjunction with a mutex and a predicate.
a mechanism that allows threads to wait (without wasting CPU cycles) for some even to occur
Keywords:  polling, goal, achieve, way
a way to achieve the same goal without polling