线程应用程序中的睡眠命令

sleep command in threaded application

本文关键字:命令 应用程序 线程      更新时间:2023-10-16

windows中的Sleep(ms)命令导致线程释放它们的时间片。是否有一个等效的Sleep(ms)命令来暂停线程,但不释放时间片?

你不想让你的线程休眠(也就是挂起),你想让它停止。用一个简单的循环来完成:

#include <time.h>
void stall(unsigned ms){
    clock_t goal = clock()+ms;
    while(goal>clock());
}
// or maybe higher resolution with some performance profiling functions...

奇怪

一种方法是让你的线程执行一个循环,直到所需的周期结束。

一个更好的解决方案可能是给处理设备的线程一个高优先级。但是无论如何,Windows不太适合实时系统…