private void SleepThread(long timeout) { KThread currentThread = _system.Scheduler.GetCurrentThread(); if (timeout < 1) { switch (timeout) { case 0: currentThread.Yield(); break; case -1: currentThread.YieldWithLoadBalancing(); break; case -2: currentThread.YieldAndWaitForLoadBalancing(); break; } } else { currentThread.Sleep(timeout); } }