gpt4 book ai didi

c++ - 我应该用 sleep_for 交换 usleep

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:10:13 32 4
gpt4 key购买 nike

我正处于使用 gcc 在 Linux 下将一些遗留 C++ 代码升级到 C++11 的阶段。在尝试设置优先级时,我想到了以下问题。将对 usleep 的调用与对 std::this_thread::sleep_for 的调用交换是否有任何优势?在我谈论的代码中,正在运行的线程应该等待很短的时间。因此我不需要任何高级功能,例如中断 sleep 。

最佳答案

是的。 std::this_thread::sleep_for由 C++11 标准指定,因此是任何具有 C++11 编译器和标准库的系统上的可移植解决方案。

usleep 由 POSIX.1-2001 指定(并宣布已过时!),这意味着它只能(可靠地)用于 POSIX 兼容系统。

POSIX.1-2008 删除了 usleep 规范,取而代之的是 nanosleep。仅出于这个原因,std::this_thread::sleep_for 就是一个更好的选择。

(有关详细信息,请参阅 http://linux.die.net/man/3/usleep)。

关于c++ - 我应该用 sleep_for 交换 usleep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32887873/

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