Thread.Yield Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Causes the calling thread to yield execution to another thread that is ready to run on the current processor. The operating system selects the thread to yield to.
public:
static bool Yield();
public static bool Yield ();
static member Yield : unit -> bool
Public Shared Function Yield () As Boolean
Returns
true
if the operating system switched execution to another thread; otherwise, false
.
Remarks
If this method succeeds, the rest of the thread's current time slice is yielded. The operating system schedules the calling thread for another time slice, according to its priority and the status of other threads that are available to run.
Yielding is limited to the processor that is executing the calling thread. The operating system will not switch execution to another processor, even if that processor is idle or is running a thread of lower priority. If there are no other threads that are ready to execute on the current processor, the operating system does not yield execution, and this method returns false
.
This method is equivalent to using platform invoke to call the native Win32 SwitchToThread
function. You should call the Yield method instead of using platform invoke, because platform invoke bypasses any custom threading behavior the host has requested.