Windows 中的 Sleep(ms) 命令导致线程释放它们的时间片。是否有一个等效的 Sleep(ms) 命令可以停止线程但不释放时间片?
问问题
259 次
2 回答
4
你不想让你的线程休眠(又名挂起),你想停止它。用一个简单的循环来做到这一点:
#include <time.h>
void stall(unsigned ms){
clock_t goal = clock()+ms;
while(goal>clock());
}
// or maybe higher resolution with some performance profiling functions...
于 2011-04-16T14:10:46.087 回答
1
奇怪的。
一种方法是让您的线程执行一个循环,直到所需的周期结束。
更好的解决方案可能是给处理设备的线程一个高优先级。但不管怎样,Windows 并不是很适合实时系统……
于 2011-04-16T14:12:39.283 回答