Monitors and Condition Variables

Read this document.