We've asked programmers to use more threads than natural.
Static schedule:
write(d) read()
{ {
while (busy) continue; while(!busy) continue;
datum = d; r = datum;
busy = true; busy = false;
} return r;
}
The textual order of forking threads in the C# source code determines the run-time composition.
This currently results in excessive combinational chains or excessive wasted clock cycles.
But, each thread has an initial stem and an infinte loop.
So we want to compile-time mesh the threads without creating deadlock:
Results are for further work.