In conformance with the IEEE POSIX.1-1996 standard, the sched_
yield() function causes the calling thread to yield execution
to another thread. It is useful when a thread running under the
SCHED_FIFO scheduling policy must allow another thread at the
same priority to run. The thread that is interrupted by sched_
yield() goes to the end of the queue for its priority.
If no other thread is runnable at the priority of the calling
thread, the calling thread continues to run.
Threads with higher priority are allowed to preempt the calling
thread, so the sched_yield() function has no effect on the
scheduling of higher- or lower-priority threads.
The sched_yield() routine takes no arguments. No special
privileges are needed to use the sched_yield() function.