Winapi SetPriorityClass(实时优先级类)实际上做什么?

Winapi SetPriorityClass(实时优先级类)实际上做什么?,winapi,process,real-time,interrupt,thread-priority,Winapi,Process,Real Time,Interrupt,Thread Priority,线程\u优先级\u时间\u临界值的实际用途是什么 它是否: 防止中断触发 防止发生上下文切换 在处理器上,除非线程休眠 如果它确实阻止了上述情况的发生: 为什么当我在带有此标志的处理器上运行程序时,仍然会得到不一致的计时结果?如果没有任何干扰的话,程序不是每次都需要相同的时间吗? 如果不能防止上述情况发生: 如果我使用不当,为什么我的系统鼠标、键盘等会锁定?难道驱动程序不应该还有一些处理器时间吗? 它基本上告诉系统调度器,在通过Sleep或SwitchToThread或dies放弃线程之前,只给

线程\u优先级\u时间\u临界值的实际用途是什么

它是否:

防止中断触发 防止发生上下文切换 在处理器上,除非线程休眠

如果它确实阻止了上述情况的发生:

为什么当我在带有此标志的处理器上运行程序时,仍然会得到不一致的计时结果?如果没有任何干扰的话,程序不是每次都需要相同的时间吗? 如果不能防止上述情况发生:

如果我使用不当,为什么我的系统鼠标、键盘等会锁定?难道驱动程序不应该还有一些处理器时间吗?
它基本上告诉系统调度器,在通过Sleep或SwitchToThread或dies放弃线程之前,只给线程分配大量时间。至于计时不一样,操作系统仍然在每次运行之间运行,这可能会改变ram和缓存等。其次,大多数计时不准确,因此它会波动,尤其是基于系统量子的计时,如GetTickCount。操作系统也有很多功能,比如省电/动态频率调整,所以你最好使用RDTSC,尽管即使这样,你可能会注意到其他功能正在运行,特别是如果你可以运行多个物理线程的话

它基本上告诉系统调度器,在通过Sleep或switch-to-thread或dies放弃线程之前,只给线程分配大量时间。至于计时不一样,操作系统仍然在每次运行之间运行,这可能会改变ram和缓存等。其次,大多数计时不准确,因此它会波动,尤其是基于系统量子的计时,如GetTickCount。操作系统也有很多功能,比如省电/动态频率调整,所以你最好使用RDTSC,尽管即使这样,你可能会注意到其他功能正在运行,特别是如果你可以运行多个物理线程的话