std::this_thread::sleep_until - cppreference.com (original) (raw)

| | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------- | | template< class Clock, class Duration > void sleep_until( const std::chrono::time_point<Clock, Duration>& sleep_time ); | | (since C++11) |

Blocks the execution of the current thread until specified sleep_time has been reached.

Clock must meet the Clock requirements. The program is ill-formed if std::chrono::is_clock_v<Clock> is false.(since C++20)

The standard recommends that the clock tied to sleep_time be used, in which case adjustments of the clock may be taken into account. Thus, the duration of the block might be more or less than sleep_time - Clock::now() at the time of the call, depending on the direction of the adjustment and whether it is honored by the implementation. The function also may block until after sleep_time has been reached due to process scheduling or resource contention delays.

[edit] Parameters

sleep_time - time to block until

[edit] Return value

(none)

[edit] Exceptions

Any exception thrown by Clock or Duration (clocks and durations provided by the standard library never throw).

[edit] Example

Possible output:

Hello, waiter... Waited 2000.17 ms

[edit] See also