Yup schreiben. Aber das funktioniert nur in C++11 und later.
#include <chrono>
#include <thread>
...
std::this_thread::sleep_for(std::chrono::milliseconds(ms));
wo ms
ist die Menge an Zeit, die Sie in Millisekunden schlafen wollen.
können Sie auch milliseconds
mit nanoseconds
, microseconds
, seconds
, minutes
oder hours
ersetzen. (Dies sind Spezialisierungen des Typs std::chrono::duration.)
Update: In C++14, wenn Sie sich für eine bestimmte Zeit schlafen, zum Beispiel 100 Millisekunden, kann std::chrono::milliseconds(100)
als 100ms
geschrieben werden. Dies liegt an user defined literals, die in C++11 eingeführt wurden. In C++14 hat die chrono
Bibliothek erweitert die folgenden benutzerdefinierten Literale enthalten:
Effektiv bedeutet dies, dass Sie so etwas schreiben können.
#include <chrono>
#include <thread>
using namespace std::literals::chrono_literals;
std::this_thread::sleep_for(100ms);
Beachten Sie, dass, während using namespace std::literals::chrono_literals
die geringste Menge an namespace pollution bietet, sind diese Betreiber auch zur Verfügung, wenn using namespace std::literals
oder using namespace std::chrono
.
Wenn Sie den Prozessor Surren weg nichts ausmachen und haben C++ 11, können Sie '' verwenden. –
chris
Warum haben Sie den Prozessor vor sich hin surren lassen? Wenn Sie C++ 11 haben, können Sie etwas wie 'std :: this_thread :: sleep_for (std :: chrono :: Millisekunden (n))' verwenden, das keine CPU verbrauchen sollte. –
ist es ein reines C++. – ElSajko