我知道有毫秒(睡眠(毫秒))
但我找不到一个微型..
答案 0 :(得分:1)
您可以使用rdtsc
指令或QueryPerformanceCounter
Windows API函数来获取高分辨率计数器。您可以使用GetTickCount
或时间函数来校准它们,例如。
答案 1 :(得分:1)
VS 11开发预览版包含处理线程的标准库部分。所以现在你可以说:
std::this_thread::sleep_for(std::chrono::microseconds(1));
当然这并不意味着线程会在这段时间后唤醒,但它应该与平台(和库实现)允许的一样接近。正如其他评论所指出的那样,Windows实际上并不允许线程在这么短的时间内休眠。
答案 2 :(得分:0)
Windows无法睡眠不到一毫秒。时间片往往远远高于1ms,因此即使线程具有最高优先级也不可能。
如果你不关心刻录CPU,你可以旋转直到QueryPerformanceCounter已经过去了。
答案 3 :(得分:0)
我刚写了一篇关于sleep()函数和旋转的详细评论 表现计数器。为避免再次在此输入,请点击以下链接: