Yield to other ready threads at the same priority
#include <threads.h> void thrd_yield( void );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The thrd_yield() function checks to see if other threads, at the same priority as that of the calling thread, are READY to run. If so, the calling thread yields to them and places itself at the end of the READY thread queue. The thrd_yield() function never yields to a lower-priority thread.
A higher-priority thread always forces a lower-priority thread to yield (that is, preempt) the instant the higher-priority thread becomes ready to run, without the need for the lower-priority thread to give up the processor by calling the thrd_yield(), sched_yield(), or SchedYield() functions.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |