CPP WINDOWS : is there a sleep function in microseconds?

22,777

Solution 1

The VS 11 dev preview includes the part of the standard library dealing with threads. So now you can say:

std::this_thread::sleep_for(std::chrono::microseconds(1));

Of course this doesn't mean the thread will wake up after exactly this amount of time, but it should be as close as the platform (and library implementation) allows for. As other comments have pointed out, Windows doesn't actually allow threads to sleep for durations this short.

Solution 2

You can use rdtsc instruction or QueryPerformanceCounter Windows API function to get high-resolution counters. You can calibrate them then with GetTickCount, or time functions for example.

Share:
22,777
kakush
Author by

kakush

Updated on July 16, 2022

Comments

  • kakush
    kakush almost 2 years

    I know there is for milliseconds (Sleep(milli))

    but I couldn't find one for micro..