distributed_systems_MIT/lec02

lec02

dz / distributed_systems_MIT / lec02

Node Tree

Nodes

threads
content Threads
children event_driven, goroutines, io_conc, parallelism, sep_prog

parallelism
content Parallelism
parents threads, why_important

sep_prog
content Separate program counter, stacks
children same_address
parents threads

io_conc
content I/O Concurrency
parents threads, why_important

goroutines
content Goroutines
parents threads

event_driven
content Event Driven
children single_thread
parents threads

same_address
content Same Address Space
parents sep_prog

convenience
content Convenience
parents why_important

why_important
content Why Important?
children convenience, io_conc, parallelism

while_one
content While one activity is waiting, others can proceed

single_thread
content Single threaded, event loop
parents event_driven

RACE
content RACE
children solution_lock, shared_memory_bug

shared_memory_bug
content Shared Memory Bug
parents RACE

solution_lock
content Solution: use a lock
children mutex
parents RACE

mutex
content Mutex
children locks_stop_threads
parents solution_lock

locks_stop_threads
content Do locks stop all other threads?
parents mutex

deadlock
content Deadlock

coord
content Coordination
children sync_cond, channels, wait_for_things, wait_group

channels
content Channels
parents coord

wait_group
content Wait Group
parents coord

sync_cond
content Sync Condition
parents coord

wait_for_things
content Wait for specific number of things to finish
parents coord