Namespaces
Variants

std::this_thread:: sleep_for

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
sleep_for
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
Definido en el encabezado <thread>
template < class Rep, class Period >
void sleep_for ( const std:: chrono :: duration < Rep, Period > & sleep_duration ) ;
(desde C++11)

Bloquea la ejecución del hilo actual durante al menos el sleep_duration especificado.

Esta función puede bloquearse por más tiempo que sleep_duration debido a demoras de planificación o contención de recursos.

La norma recomienda que se utilice un reloj constante para medir la duración. Si una implementación utiliza un reloj del sistema en su lugar, el tiempo de espera también puede ser sensible a los ajustes del reloj.

Contenidos

Parámetros

sleep_duration - duración de tiempo para dormir

Valor de retorno

(ninguno)

Excepciones

Cualquier excepción lanzada por clock , time_point , o duration durante la ejecución (los relojes, puntos de tiempo y duraciones proporcionados por la biblioteca estándar nunca lanzan excepciones).

Ejemplo

#include <chrono>
#include <iostream>
#include <thread>
int main()
{
    using namespace std::chrono_literals;
    std::cout << "Hello waiter\n" << std::flush;
    const auto start = std::chrono::high_resolution_clock::now();
    std::this_thread::sleep_for(2000ms);
    const auto end = std::chrono::high_resolution_clock::now();
    const std::chrono::duration<double, std::milli> elapsed = end - start;
    std::cout << "Waited " << elapsed << '\n';
}

Salida posible:

Hello waiter
Waited 2000.13 ms

Véase también

detiene la ejecución del hilo actual hasta un punto de tiempo especificado
(función)