Yield (multithreading)
In computer science, yield is an action that occurs in a computer program during multithreading, of forcing a processor to relinquish control of the current running thread, and sending it to the end of the running queue, of the same scheduling priority.

Examples 
Different programming languages implement yielding in various ways.

pthread_yield() in the language C, a low level implementation, provided by POSIX Threads
std::this_thread::yield() in the language C++, introduced in C++11.
 The Yield method is provided in various object-oriented programming languages with multithreading support, such as C# and Java. OOP languages generally provide class abstractions for thread objects.

In coroutines 
Coroutines are a fine-grained concurrency primitive, which may be required to yield explicitly. They may enable specifying another function to take control. Coroutines that explicitly yield allow cooperative multitasking.

See also

 Coroutines
 Java (software platform)
 Common Language Runtime
 Java virtual machine
 Actor model

References

Operating system technology
Concurrent computing
Threads (computing)
Java platform
Computing platforms
Compiler optimizations
Software optimization
Method (computer programming)