Condition Variables in Monitors
To allow a process to wait within the monitor, a condition variable must be used.
Condition variables can only be used with the following operations:
- condition : x
declaring a condition variable x
- x.wait
the process invoking x.wait is suspended until another process invokes x.signal
- x.signal
resumes exactly one suspended process. If no process is suspended, this operation has no effect.