Dormir durante milissegundos

Eu sei que a função POSIX sleep(x) faz o programa dormir por x segundos. Existe alguma função que faça o programa dormir por x milissegundos em C++?

Solução

Note que não existe uma API C padrão para milissegundos, portanto (no Unix) você terá que se contentar com usleep, que aceita microssegundos:

#include 

unsigned int microseconds;
...
usleep(microseconds);
Comentários (4)

Para permanecer portátil você poderia usar Boost::Thread para dormir:

#include 

int main()
{
    //waits 2 seconds
    boost::this_thread::sleep( boost::posix_time::seconds(1) );
    boost::this_thread::sleep( boost::posix_time::milliseconds(1000) );

    return 0;
}

Esta resposta é um duplicado e já foi postada em esta pergunta antes. Talvez você possa encontrar algumas respostas utilizáveis lá também._

Comentários (1)

O "sono nanométrico" é uma escolha melhor do que o "sono de sono" - é mais resistente a interrupções.

Comentários (1)