Jump to content
Wikipedia The Free Encyclopedia

Yield (multithreading)

From Wikipedia, the free encyclopedia
Concept in 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

[edit ]

Different programming languages implement yielding in various ways.

  • pthread_yield() in the language C, a low level implementation, provided by POSIX Threads [1]
  • 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.[2] OOP languages generally provide class abstractions for thread objects.
  • yield in Kotlin
  • sched_yield() in the C standard library, which causes the calling thread to relinquish the CPU.[3]

In coroutines

[edit ]

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

[edit ]

References

[edit ]
  1. ^ "pthread_yield". IBM .
  2. ^ "Thread.yield". Javamex. Retrieved 24 June 2011.
  3. ^ "sched_yield(2) - Linux manual page". man7.org. Retrieved 2025年06月02日.
General
Levels
Multithreading
Theory
Elements
Coordination
Programming
Hardware
APIs
Problems

AltStyle によって変換されたページ (->オリジナル) /