Spánok na milisekundy

Viem, že funkcia POSIX sleep(x) uspí program na x sekúnd. Existuje v C++ funkcia, ktorá spôsobí, že program bude spať x milisekúnd?

Riešenie

Všimnite si, že v jazyku C neexistuje štandardné API pre milisekundy, takže (na Unixe) sa budete musieť uspokojiť s príkazom usleep, ktorý akceptuje mikrosekundy:

#include 

unsigned int microseconds;
...
usleep(microseconds);
Komentáre (4)

Ak chcete zostať prenosný, môžete na spanie použiť Boost::Thread:

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

Táto odpoveď je duplicitná a bola už predtým uverejnená v táto otázka. Možno by ste tam našli aj nejaké použiteľné odpovede.

Komentáre (1)

nanosleep je lepšia voľba ako usleep - je odolnejší voči prerušeniam.

Komentáre (1)