void Main() { int stackvar = -5; MyInitThreads(); MySpawnThread(yieldTo, 1); MySpawnThread(yieldTo, 0); MySpawnThread(yieldTo, 4); MySpawnThread(yieldTo, 2); Printf("%d: [0] yieldTo(%d) -> %d\n", MyGetThread(), 3, stackvar); Printf(" Yielding: %d -> %d\n", MyGetThread(), 3); MyYieldThread(3); Printf("%d: [1] yieldTo(%d) -> %d\n", MyGetThread(), 3, stackvar); Printf(" Scheding: %d -> ?\n", MyGetThread()); MySchedThread(); Printf("%d: [2] yieldTo(%d) -> %d\n", MyGetThread(), 3, stackvar); MySpawnThread(yieldTo, 4); MySpawnThread(yieldTo, 7); MySpawnThread(yieldTo, 8); MySpawnThread(yieldTo, 6); MyExitThread (); }
void initThreads() { useDefault? InitThreads(): MyInitThreads(); }