Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
courses:cs377-201951:week9 [2019/04/01 13:22] mlsmith created |
courses:cs377-201951:week9 [2019/04/04 13:33] mlsmith |
||
---|---|---|---|
Line 23: | Line 23: | ||
* {{onelanebridgemonitor.pdf|PDF}} (with thanks to Charlie Hughes!) | * {{onelanebridgemonitor.pdf|PDF}} (with thanks to Charlie Hughes!) | ||
- | ==== Channels ==== | + | ===== Channels ===== |
- | + | ||
- | * This week or next week | + | |
+ | * CSP and Go! | ||
+ | * Hoare' | ||
+ | * Go implementation of examples from paper: https:// | ||
+ | * Rob Pike's Google I/O 2012 - Go Concurrency Patterns: https:// | ||
+ | * Peter Welch' | ||
+ | * [[courses: | ||
+ | * 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, | ||
+ | * forks (communicate with philosophers over channels) | ||
+ | * philosophers (communicate with forks over channels) |