Week 9

  • Assign 4, due Wed, Apr 3, 11:59pm
    • or do you need an extension?
    • questions?
  • Ben-Ari slides: PDF
    • slide 7.6 (p. 165)
  • My monitor notes: PDF
  • 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!)
  • CSP and Go!
  • Rob Pike's Google I/O 2012 - Go Concurrency Patterns: https://youtu.be/f6kdp27TYZs
  • Peter Welch's slides introducing CSP and occam-pi (but we will use Go this semester!)
  • Demo and codewalk of csp-dining-philosophers.go
    • Go language features highlighted:
      • channels
      • select
    • Design basis for solution in Go: go routines (processes)
      • room (communicates with philosophers over channels)
        • for philosophers to enter/leave – at most 4 at a time to prevent deadlocking, 5th philosopher blocks
      • forks (communicate with philosophers over channels)
      • philosophers (communicate with forks over channels)