Rather than having explicit condition variables, each monitor ( i . e . object ) is equipped with a single wait queue in addition to its entrance queue.
22.
:" This means that when you wait on a condition variable, the wait may ( occasionally ) return when no thread specifically broadcast or signaled that condition variable.
23.
:" This means that when you wait on a condition variable, the wait may ( occasionally ) return when no thread specifically broadcast or signaled that condition variable.
24.
Inside the synchronized block, the given object can be used as a condition variable by doing a wait ( ), notify ( ), or notifyAll ( ) on it.
25.
For synchronization between threads, appropriate condition variables ( std : : condition _ variable and std : : condition _ variable _ any ) are added to the library.
26.
In this case, more than one condition is associated with the condition variable, such that the condition variable represents a weaker condition than the conditions being checked by individual threads.
27.
In this case, more than one condition is associated with the condition variable, such that the condition variable represents a weaker condition than the conditions being checked by individual threads.
28.
While a thread is waiting on a condition variable, that thread is not considered to occupy the monitor, and so other threads may enter the monitor to change the monitor's state.
29.
Using a condition variable ( s ), it can also provide the ability for threads to wait on a certain condition ( thus using the above definition of a " monitor " ).
30.
The " producer " threads will want to wait on a monitor using lock " m " and a condition variable c _ { full } which blocks until the queue is non-full.