#include int g=0; void proc0(){ int x,y,z; $atomic{ while(1){ x=0; y=0; z=0; } } } void proc1(){ g=1; $assert(g==1); } void proc2(){ g=2; $assert(g==2); } int main(){ $proc p0, p1, p2; $atomic{ p0=$spawn proc0(); p1=$spawn proc1(); p2=$spawn proc2(); } $wait(p1); $wait(p2); $assert(g==0); $wait(p0); }