As Java has had Sleep and Yield from long ago, I've found answers for that platform, but not for .Net
.Net 4 includes the new Thread.Yield() static method. Previously the common way to hand over the CPU to other process was Thread.Sleep(0).
Apart from Thread.Yield() returning a boolean, are there other performance, OS internals differences?
For example, I'm not sure if Thread.Sleep(0) checks if other thread is ready to run before changing the current Thread to waiting state... if that's not the case, when no other threads are ready, Thread.Sleep(0) would seem rather worse that Thread.Yield().