问题描述
出于某些奇怪的原因,std::this_thread::sleep_for
在WSL Ubuntu上对我不起作用。它只是拒绝在指定的时间内入睡。我想第二点意见,以了解我是在做错什么还是在GNU C ++ std::
实现中遇到了一个错误。
USER@ABC-WORKSTATION /tmp
$ cat sleep_test.cpp
#include <chrono>
#include <thread>
#include <iostream>
int main()
{
auto start = std::chrono::system_clock::now();
std::time_t start_time = std::chrono::system_clock::to_time_t(start);
std::cout << "Start: " << std::ctime(&start_time) << std::endl;
std::cout << "Sleep... " << std::endl;
std::this_thread::sleep_for(std::chrono::milliseconds(10000));
auto end = std::chrono::system_clock::now();
std::time_t end_time = std::chrono::system_clock::to_time_t(end);
std::cout << "End: " << std::ctime(&end_time) << std::endl;
}
USER@ABC-WORKSTATION /tmp
$ g++ --version
g++ (Ubuntu 9.3.0-10ubuntu2) 9.3.0
Copyright (C) 2019 Free Software Foundation,Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
USER@ABC-WORKSTATION /tmp
$ g++ -o sleep_test sleep_test.cpp
USER@ABC-WORKSTATION /tmp
$ sleep_test
Start: Wed Sep 9 14:15:18 2020
Sleep...
End: Wed Sep 9 14:15:18 2020
USER@ABC-WORKSTATION /tmp
$
如上所示,没有10000毫秒的睡眠,并且代码立即执行!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)