Ejemplo n.º 1
0
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 ();
}
Ejemplo n.º 2
0
int  spawnThread(void (*f)(), int p) {
    if(useDefault) return SpawnThread(f,p);
    else return MySpawnThread(f,p);
}