On Windows Sleep(0) yields thread control without specifying a minimum time, (see here) But on Linux and POSIX sleep(0) from unistd.h is just ignored.
What's the best way to get Sleep(0) like behaviour in Linux?
Try sched_yield from "sched.h", that is created just for what you want to do.
If that doesn't work for whatever reason - try usleep(1)
- That will yield at least 1 microsecond delay (may be more), which in turn triggers a context switch (if any thread is waiting).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With