Dormire per millisecondi

So che la funzione POSIX sleep(x) fa dormire il programma per x secondi. C'è una funzione per far dormire il programma per x millisecondi in C++?

Soluzione

Notate che non esiste un'API C standard per i millisecondi, quindi (su Unix) dovrete accontentarvi di usleep, che accetta i microsecondi:

#include 

unsigned int microseconds;
...
usleep(microseconds);
Commentari (4)

Per rimanere portatili potreste usare Boost::Thread per dormire:

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

Questa risposta è un duplicato ed è stata postata in questa domanda prima. Forse potresti trovare alcune risposte utilizzabili anche lì.

Commentari (1)

nanosleep è una scelta migliore di usleep - è più resistente agli interrupt.

Commentari (1)