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
Definiert im Header <thread>
template < class Rep, class Period >
void sleep_for ( const std:: chrono :: duration < Rep, Period > & sleep_duration ) ;
(seit C++11)

Blockiert die Ausführung des aktuellen Threads für mindestens die angegebene sleep_duration .

Diese Funktion kann länger blockieren als sleep_duration aufgrund von Scheduling- oder Ressourcenkonflikt-Verzögerungen.

Der Standard empfiehlt, dass ein stabiler Taktgeber zur Messung der Dauer verwendet wird. Falls eine Implementierung stattdessen einen Systemtaktgeber verwendet, kann die Wartezeit auch anfällig für Taktjustierungen sein.

Inhaltsverzeichnis

Parameter

sleep_duration - Zeitdauer zum Schlafen

Rückgabewert

(keine)

Ausnahmen

Jede Ausnahme, die von clock , time_point oder duration während der Ausführung geworfen wird (Uhren, Zeitpunkte und Dauern, die von der Standardbibliothek bereitgestellt werden, werfen niemals Ausnahmen).

Beispiel

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

Mögliche Ausgabe:

Hello waiter
Waited 2000.13 ms

Siehe auch

stoppt die Ausführung des aktuellen Threads bis zu einem bestimmten Zeitpunkt
(Funktion)