|
|
Defined in header <thread> | ||
template<class Rep,class Period> void sleep_for(conststd::chrono::duration<Rep, Period>& sleep_duration); | (since C++11) | |
Blocks the execution of the current thread forat least the specifiedsleep_duration.
This function may block for longer thansleep_duration due to scheduling or resource contention delays.
The standard recommends that a steady clock is used to measure the duration. If an implementation uses a system clock instead, the wait time may also be sensitive to clock adjustments.
Contents |
sleep_duration | - | time duration to sleep |
(none)
Any exception thrown byclock
,time_point
, orduration
during the execution (clocks, time points, and durations provided by the standard library never throw).
#include <chrono>#include <iostream>#include <thread> int main(){usingnamespace std::chrono_literals; std::cout<<"Hello waiter\n"<<std::flush; constauto start=std::chrono::high_resolution_clock::now(); std::this_thread::sleep_for(2000ms);constauto end=std::chrono::high_resolution_clock::now();conststd::chrono::duration<double,std::milli> elapsed= end- start; std::cout<<"Waited "<< elapsed<<'\n';}
Possible output:
Hello waiterWaited 2000.13 ms
(C++11) | stops the execution of the current thread until a specified time point (function)[edit] |