sleep_until不适用于MSVC中的steady_clock

时间:2016-06-20 14:51:49

标签: c++ visual-c++

考虑这段代码:

#include <chrono>
#include <thread>

using namespace std::chrono_literals;

int main()
{
    auto sx = std::chrono::steady_clock::now();
    std::this_thread::sleep_until(sx + 10s);
}

我希望这段代码能够睡10秒钟;而这正是我用GCC编译它时的作用。但是,如果我使用微软VS2015,它根本就不会睡觉。

如果我将steady_clock更改为system_clock,Microsoft编译器会生成按预期工作的代码(但可能对system_clock调整很敏感。)

这是一个错误,还是我误解了什么?

1 个答案:

答案 0 :(得分:2)

您的代码在我的系统中完美运行。我在Windows 10 x64上使用MSVC2015 Update 2.

我认为这是msvc2015的错误。