Joining Threads

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