gpt4 book ai didi

c++ - C++ 中 usleep(0) 在 Linux 上的作用

转载 作者:IT王子 更新时间:2023-10-29 00:02:55 26 4
gpt4 key购买 nike

documentation for usleep说明调用 usleep(0) 无效。但是,在我的系统 (RHEL 5.2) 上运行下面的 C++ 代码小片段时,我发现它实际上看起来与 usleep(1) 具有相同的效果。这是意料之中的吗?如果是,为什么文档与我在现实生活中看到的不一致?

图表 A

代码:

#include <unistd.h>

int main()
{
for( int i = 0; i < 10000; i++ )
{
usleep(1);
}
}

输出:

$ time ./test
real 0m10.124s
user 0m0.001s
sys 0m0.000s

图表 B

代码:

#include <unistd.h>

int main()
{
for( int i = 0; i < 10000; i++ )
{
usleep(1);
usleep(0);
}
}

输出:

$ time ./test
real 0m20.770s
user 0m0.002s
sys 0m0.001s

最佳答案

技术上它应该没有效果。但您必须记住,传递的值用作最小值,而不是绝对值,因此系统可以自由使用尽可能小的间隔。

关于c++ - C++ 中 usleep(0) 在 Linux 上的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12823598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com