std::this_thread::sleep_for
Von cppreference.com
| Definiert in 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 aufgrund von Zeitplanungs- oder Ressourcenkonfliktverzögerungen länger als die sleep_duration blockieren.
Der Standard empfiehlt die Verwendung einer stabilen Uhr zur Messung der Dauer. Wenn eine Implementierung stattdessen eine Systemuhr verwendet, kann die Wartezeit auch empfindlich auf Uhrenanpassungen reagieren.
Inhalt |
[bearbeiten] Parameter
| sleep_duration | - | Zeitdauer zum Schlafen |
[bearbeiten] Rückgabewert
(keine)
[bearbeiten] Ausnahmen
Alle Ausnahmen, die von clock, time_point oder duration während der Ausführung ausgelöst werden (von der Standardbibliothek bereitgestellte Uhren, Zeitpunkte und Dauern lösen niemals Ausnahmen aus).
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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
[bearbeiten] Siehe auch
| (C++11) |
stoppt die Ausführung des aktuellen Threads bis zu einem angegebenen Zeitpunkt (Funktion) |