The need for a thread to wait until some condition holds. Monitors. Pthreads condition variables: API and semantics. pthread_cond_init, pthread_cond_destroy, pthread_cond_signal, pthread_cond_broadcast, pthread_cond_wait. Example: bank accounts. Concurrency flags: API, semantics, and an implementation using condition variables. Implementing a simple 2-thread barrier using concurrency flags.
Slides: 15_threads3.pdf