Sip. Pero esto solo funciona en C++11 y later.
#include <chrono>
#include <thread>
...
std::this_thread::sleep_for(std::chrono::milliseconds(ms));
donde ms
es la cantidad de tiempo que desea dormir en milisegundos.
También puede reemplazar con milliseconds
nanoseconds
, microseconds
, seconds
, minutes
o hours
. (Estos son especializaciones del tipo std::chrono::duration.)
Actualización: En C++14, si usted está durmiendo por una cantidad fija de tiempo, por ejemplo, 100 milisegundos, std::chrono::milliseconds(100)
se puede escribir como 100ms
. Esto se debe a user defined literals, que se introdujeron en C++11. En C++14 la biblioteca chrono
se ha ampliado para incluir los siguientes definidos por el usuario literales:
Efectivamente, esto significa que puede escribir algo como esto.
#include <chrono>
#include <thread>
using namespace std::literals::chrono_literals;
std::this_thread::sleep_for(100ms);
Tenga en cuenta que, mientras que using namespace std::literals::chrono_literals
proporciona la menor cantidad de namespace pollution, estos operadores también están disponibles cuando using namespace std::literals
, o using namespace std::chrono
.
Si no te importa el procesador zumbido de distancia y tienen 11 C++, se puede usar ''. –
chris
¿Por qué tendría el procesador zumbando? Si tiene C++ 11, puede usar algo como 'std :: this_thread :: sleep_for (std :: chrono :: milisegundos (n))' que no debería consumir ninguna CPU. –
es un C++ puro. – ElSajko