Presents classic producer-consumer synchronization using event buffers. Details constraints on buffer access exclusivity and consumer blocking on empty buffers, with solutions using items and spaces semaphores for finite buffer handling.
Covers reader-writer problem enabling multiple concurrent readers while enforcing exclusive writer access. Uses lightswitch pattern where first reader locks resource and last reader unlocks, preventing deadlock while allowing categorical mutual exclusion.
Addresses reusable barriers for iterative thread synchronization. Introduces two-phase barrier using dual turnstiles to prevent threads from lapping each other, maintaining state reset for repeated synchronization cycles in loop-based thread cooperation.
Presents multiplex pattern allowing limited concurrent threads and barrier synchronization for n threads. Shows how semaphores initialized to n control simultaneous access and how barriers force threads to wait until all arrive at checkpoint.