Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
courses:cs377-201951:week9 [2019/04/03 13:34]
mlsmith [Channels]
courses:cs377-201951:week9 [2019/04/04 02:30]
mlsmith [Channels]
Line 31: Line 31:
   * Peter Welch's slides introducing CSP and occam-pi (but we will use Go this semester!)   * Peter Welch's slides introducing CSP and occam-pi (but we will use Go this semester!)
     * [[courses:cs377-201951:welch-lectures:top|Occam-pi Lecture Notes]]     * [[courses:cs377-201951:welch-lectures:top|Occam-pi Lecture Notes]]
 +    * Next time: **//Objects Considered Harmful//** (slide 27 of motivation.pdf slides) 
 +  * 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)