Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision Last revision Both sides next revision | ||
courses:cs377-201951:week9 [2019/04/01 13:22] mlsmith created |
courses:cs377-201951:week9 [2019/04/04 02:30] mlsmith [Channels] |
||
---|---|---|---|
Line 25: | Line 25: | ||
==== 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) |