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?
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 <unistd.h>
unsigned int microseconds;
...
usleep(microseconds);
Ak chcete zostať prenosný, môžete na spanie použiť Boost::Thread:
#include <boost/thread/thread.hpp>
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.