如何在Linux中获得Sleep(0)行为

时间:2011-06-28 09:32:26

标签: c linux

在Windows上睡眠(0)产生线程控制而不指定最小时间,(see here) 但是在unistd.h的Linux和POSIX sleep(0)上只是被忽略了。

在Linux中获得Sleep(0)行为的最佳方法是什么?

1 个答案:

答案 0 :(得分:18)

从“sched.h”中尝试sched_yield,这是为了您想要做的事情而创建的。

如果由于某种原因不起作用 - 尝试usleep(1) - 这将产生至少1微秒的延迟(可能更多),这反过来会触发上下文切换(如果有任何线程在等待)。 / p>