使用 boost::this_thread::sleep_for() 和常规 sleep() 函数有什么区别?

Whats the difference between using boost::this_thread::sleep_for() and regular sleep() function?

我们知道boost::this_thread::sleep_for(...)可以用来让当前的运行线程进入睡眠状态。它与常规 sleep() 函数有何不同。似乎我们使用 boost::this_thread::sleep_for(...) 的每个地方都可以简单地替换为 sleep() 方法而不影响结果。任何人都可以给它一些光。

睡眠仅以一秒的粒度运行,boost::this_thread::sleep_for 允许睡眠的粒度小于 1 秒。

直到 C++11 出现后,C++ 才提供睡眠功能,它提供了 std::thread::sleep_for()。所以 Boost 提供了它自己的代码来使你的代码平台无关。

C 函数 sleep(), usleep(), and Sleep() 是特定于平台的,而不是 C++ 标准库的一部分。