x SuSE Linux 13.1-RELEASE x
x SuSE Linux 13.1-RELEASEx
sched_yield(2) System Calls Manual sched_yield(2)
NAME
sched_yield - yield the processor
LIBRARY
Standard C library (libc, -lc)
SYNOPSIS
#include <sched.h>
int sched_yield(void);
DESCRIPTION
sched_yield() causes the calling thread to relinquish the CPU. The
thread is moved to the end of the queue for its static priority and a
new thread gets to run.
RETURN VALUE
On success, sched_yield() returns 0. On error, -1 is returned, and er-
rno is set to indicate the error.
ERRORS
In the Linux implementation, sched_yield() always succeeds.
STANDARDS
POSIX.1-2008.
HISTORY
POSIX.1-2001.
NOTES
If the calling thread is the only thread in the highest priority list
at that time, it will continue to run after a call to sched_yield().
POSIX systems on which sched_yield() is available define _POSIX_PRIOR-
ITY_SCHEDULING in <unistd.h>.
Strategic calls to sched_yield() can improve performance by giving
other threads or processes a chance to run when (heavily) contended re-
sources (e.g., mutexes) have been released by the caller. Avoid call-
ing sched_yield() unnecessarily or inappropriately (e.g., when re-
sources needed by other schedulable threads are still held by the
caller), since doing so will result in unnecessary context switches,
which will degrade system performance.
sched_yield() is intended for use with real-time scheduling policies
(i.e., SCHED_FIFO or SCHED_RR). Use of sched_yield() with nondetermin-
istic scheduling policies such as SCHED_OTHER is unspecified and very
likely means your application design is broken.
SEE ALSO
sched(7)
Linux man-pages 6.04 2023-03-30 sched_yield(2)
Want to link to this manual page? Use this URL:
<http://star2.abcm.com/cgi-bin/bsdi-man?query=sched_yield&sektion=2&manpath=>