Week 7

Monitors

  • Marc's Lecture Notes: PDF
  • Ben-Ari Ch 7
    • begin slide 146
  • Dr. Seuss on Deadlock:
  • Semaphores vs. Monitors
Semaphore Monitor
wait may or may not block waitC always blocks
signal always has an effect signalC has no effect
if queue is empty
signal unblocks an arbitrary blocked process signalC unblocks the process at the head of the queue
a process unblocked by signal can resume execution immediately a process unblocked by signalC must wait for the signaling process to leave monitor
  • Class participation with monitors:
    • The One-Lane Bridge problem:
      Cars coming from the north and south arrive at a 
      one-lane bridge. Cars heading in the same direction 
      can cross the bridge at the same time, but cars 
      heading in opposite directions cannot.
    • can we find a way to be safe, fair, and efficient?
    • PDF (with thanks to Charlie Hughes!)
  • Java case study (starter code for Assign 4)
    • starter code for Assign 4 (for after the break)
    • this version deadlocks!
    • you will use two different approaches to fix:
      • synchronized methods
      • synchronized code blocks

  • Dining UPC Philosophers PDF
    • Note: version 3 is required (sorry for any confusion!)
      • it can definitely be implemented with busy waiting
      • the challenge is whether it can be implemented without busy waiting!
  • Assigned: Thu, Feb 19
  • Due: Tue, Mar 3, 11:59pm (Tue before Spring break)