Windows中更改进程优先级有什么影响?

时间:2011-09-25 01:48:13

标签: windows winapi process taskmanager

如果您进入任务管理器,右键单击一个进程,并将优先级设置为实时,它通常会停止程序崩溃,或使它们运行得更快。

在编程环境中,这是做什么的?

3 个答案:

答案 0 :(得分:2)

它会调用SetPriorityClass()

  

每个线程都有一个由线程确定的基本优先级   优先级值及其进程的优先级。系统使用   所有可执行线程的基本优先级,以确定哪个   线程获得下一个CPU时间片。 SetThreadPriority函数   允许设置线程的基本优先级相对于   其流程的优先级。有关更多信息,请参阅计划   优先级。

答案 1 :(得分:1)

它告诉widows调度程序在为进程分配执行时间片时或多或少贪心。实时执行使它永远不会产生执行(根据MSDN,甚至不是驱动程序),如果它等待外部事件但没有自己的屈服,可能会导致应用程序停顿(如Sleep,{{1} }或SwitchToThread),因为除非你知道应用程序将正确处理它,否则应该避免使用realtime。

答案 2 :(得分:0)

它的工作原理是在OS任务调度程序中更改为此进程提供的权重。您的CPU一次只能执行一条指令(非常简单地说),操作系统的工作是不断交换每个运行进程的指令。通过提高或降低优先级,您将影响相对于当前多任务的其他应用程序在CPU中分配的时间。