std::this_thread::sleep_for
STD:这个[医]线程::睡眠[医]为
Defined in header | | |
---|---|---|
template< class Rep, class Period > void sleep_for( const std::chrono::duration<Rep, Period>& sleep_duration | | (since C++11) |
阻止当前线程的执行。至少
指定sleep_duration
...
用一个稳定的时钟来测量持续时间。此函数的阻塞时间可能超过sleep_duration
由于调度或资源争用延迟。
参数
sleep_duration | - | time duration to sleep |
---|
返回值
%280%29
例外
任何由时钟、时间引发的异常[医]在执行%28时钟、时间点和标准库提供的持续时间期间,不要抛出%29。
例
二次
#include <iostream>
#include <chrono>
#include <thread>
int main()
{
using namespace std::chrono_literals;
std::cout << "Hello waiter" << std::endl;
auto start = std::chrono::high_resolution_clock::now(
std::this_thread::sleep_for(2s
auto end = std::chrono::high_resolution_clock::now(
std::chrono::duration<double, std::milli> elapsed = end-start;
std::cout << "Waited " << elapsed.count() << " ms\n";
}
二次
可能的产出:
二次
Hello waiter
Waited 2000.12 ms
二次
另见
sleep_until (C++11) | stops the execution of the current thread until a specified time point (function) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。