Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| courses:cs377-202651:week13 [2026/04/30 14:54] – [Parallel Composition in Golang] mlsmith | courses:cs377-202651:week13 [2026/04/30 15:03] (current) – [Simulating Models of Concurrency] mlsmith | ||
|---|---|---|---|
| Line 35: | Line 35: | ||
| * Discussion: modeling one model of concurrency with another | * Discussion: modeling one model of concurrency with another | ||
| * shared memory (critical sections, etc.) | * shared memory (critical sections, etc.) | ||
| + | * we've seen implementing semaphores with monitors/ | ||
| + | * can we model condition variables with semaphores? | ||
| * Golang: channels (message passing) | * Golang: channels (message passing) | ||
| + | * motto: // | ||
| + | * simulate memory accesses with a goroutine? | ||
| * Ruby/Rinda: Linda and Tuple Space | * Ruby/Rinda: Linda and Tuple Space | ||
| + | * tuples are semaphores! | ||
| + | * immutable so no race conditions / critical sections | ||
| + | * similar perils to using semaphores, but offer more possibilities | ||
| + | * Simulate Linda/TS with another model? | ||
| + | * with combination of dictionaries, | ||
| + | * shared memory with semaphores | ||
| + | * goroutines to protect access | ||
| + | * other ideas? | ||
| * We don't always get to choose our language/ | * We don't always get to choose our language/ | ||