Milisaniye için uyku

POSIX sleep(x) fonksiyonunun programı x saniye boyunca uyuttuğunu biliyorum. C++'da programı x milisaniye kadar uyutan bir fonksiyon var mı?

Çözüm

Milisaniyeler için standart bir C API'si olmadığını unutmayın, bu nedenle (Unix'te) mikrosaniyeleri kabul eden usleep ile yetinmeniz gerekecektir:

#include 

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

Taşınabilir kalmak için uyku için Boost::Thread kullanabilirsiniz:

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

Bu cevap mükerrerdir ve daha önce bu soru bölümünde yayınlanmıştır. Belki orada da işe yarar bazı cevaplar bulabilirsiniz.

Yorumlar (1)

nanosleep, usleepten daha iyi bir seçimdir - kesintilere karşı daha dayanıklıdır.

Yorumlar (1)