Espacios de nombres
Variantes
Acciones

std::this_thread::sleep_for

De cppreference.com
< cpp‎ | thread
 
 
Biblioteca de apoyo de concurrencia
Hilos
(C++11)
(C++20)
Espacio de nombres this_thread
(C++11)
(C++11)
sleep_for
(C++11)
Cancelación cooperativa
Exclusión mutua
(C++11)
Gestión genérica de bloqueo
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Variables de condición
(C++11)
Semáforos
Pestillos y barreras
(C++20)
(C++20)
Futuros
(C++11)
(C++11)
(C++11)
(C++11)
Recuperación segura
(C++26)
Punteros de riesgo
Tipos atómicos
(C++11)
(C++20)
Inicialización de tipos atómicos
(C++11)(en desuso en C++20)
(C++11)(en desuso en C++20)
Orden de memoria
Funciones independientes para operaciones atómicas
Funciones independientes para indicadores atómicos
 
Definido en el archivo de 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 por al menos la duración especificada sleep_duration.

Esta función puede bloquearse por más de sleep_duration debido a retrasos en la programación o en la contención de recursos.

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

Contenido

[editar] Parámetros

sleep_duration - Duración de tiempo a dormir.

[editar] Valor de retorno

(Ninguno)

[editar] Excepciones

Cualquier excepción lanzada por el reloj, punto de tiempo o la duración durante la ejecución (los relojes, puntos de tiempo y duraciones proporcionados por la biblioteca estándar nunca lanzan).

[editar] Ejemplo

#include <iostream>
#include <chrono>
#include <thread>
 
int main()
{
    using namespace std::chrono_literals;
    std::cout << "Hola esperador\n" << std::flush;
    auto start = std::chrono::high_resolution_clock::now();
    std::this_thread::sleep_for(2000ms);
    auto end = std::chrono::high_resolution_clock::now();
    std::chrono::duration<double, std::milli> elapsed = end-start;
    std::cout << "Esperó " << elapsed.count() << " ms\n";
}

Posible salida:

Hola esperador
Esperó 2000.12 ms

[editar] Véase también

Detiene la ejecución del hilo/subproceso actual hasta que ocurra un punto de tiempo especificado.
(función) [editar]