# std::this_thread::sleep_for

From cppreference.com
< cpp‎ | thread

Defined in header `<thread>` |  |
template< class Rep, class Period > void sleep_for( const std::chrono::duration<Rep, Period>& sleep_duration ); |  | (since C++11)

Blocks the execution of the current thread for at least the specified `sleep_duration`.

A steady clock is used to measure the duration. This function may block for longer than `sleep_duration` due to scheduling or resource contention delays.

### Parameters

sleep_duration | - | time duration to sleep

### Return value

(none)

### Exceptions

Any exception thrown by clock, time_point, or duration during the execution (clocks, time points, and durations provided by the standard library never throw)

### Example

Run this code

    #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";
    }

Possible output:

    Hello waiter
    Waited 2000.12 ms

### See also

sleep_until (C++11) | stops the execution of the current thread until a specified time point (function)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/thread/sleep_for&oldid=86045"