如果您进入任务管理器,右键单击一个进程,并将优先级设置为实时,它通常会停止程序崩溃,或使它们运行得更快。
在编程环境中,这是做什么的?
答案 0 :(得分:2)
它会调用SetPriorityClass()。
每个线程都有一个由线程确定的基本优先级 优先级值及其进程的优先级。系统使用 所有可执行线程的基本优先级,以确定哪个 线程获得下一个CPU时间片。 SetThreadPriority函数 允许设置线程的基本优先级相对于 其流程的优先级。有关更多信息,请参阅计划 优先级。
答案 1 :(得分:1)
它告诉widows调度程序在为进程分配执行时间片时或多或少贪心。实时执行使它永远不会产生执行(根据MSDN,甚至不是驱动程序),如果它等待外部事件但没有自己的屈服,可能会导致应用程序停顿(如Sleep
,{{1} }或SwitchToThread
),因为除非你知道应用程序将正确处理它,否则应该避免使用realtime。
答案 2 :(得分:0)
它的工作原理是在OS任务调度程序中更改为此进程提供的权重。您的CPU一次只能执行一条指令(非常简单地说),操作系统的工作是不断交换每个运行进程的指令。通过提高或降低优先级,您将影响相对于当前多任务的其他应用程序在CPU中分配的时间。