Why Threads Are Hard, cont'd
Hard to debug: data dependencies, timing dependencies.
Threads break abstraction: can't design modules independently.
Callbacks don't work with locks.
Module A
Module B
T1
T2
deadlock!
callbacks
calls
Previous slide
Next slide
Back to first slide
View graphic version