Are these two statement equivalent?
Thread.sleep(0); Thread.yield();
Thread.Yield can give up CPU resource to threads with lower priorities, while Thread.Sleep(0) gives up CPU only to threads with equal or higher priorities.
At least on Windows platform :)