pci驱动中,在线程中使用事件等待遇到一个问题请大家指教原因;
我创建一个线程,在线程中使用事件等待函数KeWaitForSingleObject等待时间为1毫秒,可是在同样的WIN7下,待等时间相差有10毫秒的差别。
LARGE_INTEGER waitTime;
waitTime.QuadPart = -10*1000;或waitTime.QuadPart = -10*100;
使用KeDelayExecutionThread(KernelMode,TRUE,&waitTime);
或使用
KeWaitForSingleObject(hExitEvent, Executive, KernelMode, FALSE,&waitTime);
在有些系统下等待为1秒钟只能等待10次,即10毫秒才会超时或触发一次。
或者使用定时器的时候,取值waitTime.QuadPart = -10*1000;或waitTime.QuadPart = -10*100;都是10毫秒才触发一次。
我希望能最少1毫秒就能触发一次或1毫秒能触发多次,但在同样的WIN7下面,有些系统却如我所愿。请问这是什么原因。请各位老师指点
------解决思路----------------------
Windows 7不是实时操作系统。所以事件触发的时间不能精确到1ms或者10ms。
------解决思路----------------------
这个是不是和系统的时间片有关系?