优先提升

【勇芳软件工作室】汉化HomePreviousNext

每个线程都有一个【动态优先】.这是调度程序用于确定要执行哪个线程的优先级。最初,线程的动态优先级与其基本优先级相同。该系统可以提升和降低动态优先级,以确保它具有响应能力,并且没有线程用于处理器时间。系统不会提高16到31之间的基本优先级的线程的优先级。只有基本优先级在0到15之间的线程才能接收动态优先级提升。

系统提高线程的动态优先级,以提高其响应速度,如下所示。

*当将使用NORMAL_PRIORITY_CLASS的进程带到前台时,调度程序将提升与前台窗口关联的进程的优先级,以使其大于或等于任何后台进程的优先级。当进程不再位于前台时,优先级返回到其原始设置。

Windows NT:用户可以通过系统控制面板应用程序来控制使用NORMAL_PRIORITY_CLASS的进程的升级。

*当窗口接收到诸如计时器消息,鼠标消息或键盘输入之类的输入时,调度程序会提升拥有该窗口的线程的优先级。

*当阻塞线程的等待条件满足时,调度程序将提升线程的优先级。例如,当与磁盘或键盘I / O相关联的等待操作完成时,线程接收优先级提升。

Windows NT:您可以通过调用SetProcessPriorityBoostSetThreadPriorityBoost功能来禁用优先级提升功能。要确定此函数是否已禁用,请调用GetProcessPriorityBoostGetThreadPriorityBoost功能。

在提高线程的动态优先级后,调度程序每当线程完成时间片时将优先级降低一级,直到线程恢复到其基本优先级。线程的动态优先级永远不会低于其基本优先级。