繁体   English   中英

在Windows中更改进程优先级有什么作用?

[英]What effect does changing the process priority have in Windows?

如果进入任务管理器,右键单击一个进程,并将优先级设置为“实时”,它通常可以停止程序崩溃,或者使程序崩溃更快。

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

它调用SetPriorityClass()

每个线程都有一个基本优先级,该优先级由线程的优先级值及其进程的优先级确定。 系统使用所有可执行线程的基本优先级来确定哪个线程获得下一个CPU时间。 通过SetThreadPriority函数,可以设置线程相对于其进程优先级的基本优先级。 有关更多信息,请参见安排优先级。

它告诉寡妇调度程序在为您的进程分配执行时间片时多少有些贪婪。 实时执行使它永远不会屈服执行(根据MSDN甚至不会对驱动程序执行),如果它等待外部事件却没有自己的屈服(例如SleepSwitchToThreadWaitFor[Single|Multiple]Objects ),则这可能会导致应用程序停顿除非您知道应用程序将正确处理它,否则应避免使用实时WaitFor[Single|Multiple]Objects

它通过在OS任务计划程序中更改赋予此过程的权重来工作。 您的CPU一次只能执行一条指令(说得非常非常简单),并且操作系统的工作是保持每个正在运行的进程之间交换指令。 通过提高或降低优先级,您正在影响相对于当前正在执行多任务的其他应用程序在CPU中分配的时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM