Lecture 10 (Thurs Sep 26): Synchronization 3: Monitors and Semaphores

Monitors/Condition Variables (00:59)

Go Back

  • Locks + what locks are missing
  • Locks: Mutual exclusion
  • Missing: Some way to wait

Condition Variables

Lock + CV's + shared Data = Monitor

Pthreads API vs Object Oriented Languages (00:44)

Go Back

Monitor idea (01:12)

Go Back

Condvar Operations (03:00)

Go Back

pthread cv usage (02:29)

Go Back

WaitForFinish timeline 1 (01:18)

Go Back

WaitForFinish timeline 2 (00:28)

Go Back

Why the loop? (01:40)

Go Back

Unbounded buffer producer/consumer (05:00)

Go Back

Timeline for producer/consumer: 0 iterations (00:47)

Go Back

Timelixne for producer/consumer: 1 iteration (00:38)

Go Back

Timelixne for producer/consumer: 2+ iterations (02:08)

Go Back

Hoare vs Mesa monitors (03:35)

Go Back

Bounded buffer producer/consumer (04:11)

Go Back

Monitor pattern (01:44)

Go Back

Monitors rules of thumb (03:22)

Go Back

Monitor exercise (02:42)

Go Back