PPT Slide
Monitors
- Note that the semantics of wait and signal are different than for semaphore’s Wait() and Signal().
- A condition variable wait will cause a process to block automatically.
- A condition variable signal will unblock all the processes that are waiting on the condition variable.
- CVs do not count or keep a busy/non-busy flag as semaphores do; if signal is called on a CV 10 times and then a process waits on the CV it will still block. A wait waits for the next signal call.
- Unlike semaphores, a process that calls a CV wait gives up the lock on the monitor.