我正在 Windows XP 上使用 Visual Studio 开发控制台 C++ 应用程序,该应用程序必须为调度程序提供最高优先级。
int main()
{
while ( somecondition )
{
// pick data from external hardware every 10 milliseconds
// do computation
}
}
我的意思是没有其他系统进程应该干扰它,因为它是一个实时数据采集系统,调整为每 10 毫秒刷新一次帧缓冲区。
我试图将每帧的时间长度保存到文件中,但在我想要的时间周围发现了一个奇怪的“量化”。为什么?
我还发现有时长度是我的基本帧时间的倍数,这是由干扰内部操作系统进程引起的吗?
有没有办法确保我的程序的最高优先级?