- Problem: given n threads, we would like for all of them to
synchronize at a particular point in their execution: when a thread
reaches this join point it will block until all threads have
reached it
- Solution: slight variation on the short-circuit technique
declare X0 X1 X2 X3
X0 = unit
thread ... X1=X0 {Wait X3} ... end
thread ... X2=X1 {Wait X3} ... end
thread ... X3=X2 {Wait X3} ... end