home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | NOTES | SEE ALSO | COLOPHONThe Linux Programming Interface


SCHED_YIELD(2)                Linux Programmer's Manual                SCHED_YIELD(2)

NAME         top

       sched_yield - yield the processor

SYNOPSIS         top

       #include <sched.h>

       int sched_yield(void);

DESCRIPTION         top

       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         top

       On success, sched_yield() returns 0.  On error, -1 is returned, and errno is
       set appropriately.

ERRORS         top

       In the Linux implementation, sched_yield() always succeeds.

CONFORMING TO         top

       POSIX.1-2001.

NOTES         top

       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_PRIORITY_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 resources (e.g.,
       mutexes) have been released by the caller.  Avoid calling sched_yield()
       unnecessarily or inappropriately (e.g., when resources 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.

SEE ALSO         top

       sched_setscheduler(2) for a description of Linux scheduling.

       Programming for the real world - POSIX.4 by Bill O. Gallmeister, O'Reilly &
       Associates, Inc., ISBN 1-56592-074-0

COLOPHON         top

       This page is part of release 3.32 of the Linux man-pages project.  A
       description of the project, and information about reporting bugs, can be found
       at http://www.kernel.org/doc/man-pages/.

Linux                                 2008-10-18                       SCHED_YIELD(2)

HTML rendering created 2010-12-03 by Michael Kerrisk, author of The Linux Programming Interface

customisable
counter