如果即将被运行的进程的优先级比正在运行的进程的优先级高,则系统可以强行剥夺正在运行的进程的CPU,让优先级高的进程先运行。
在 Windows 中,優先順序由 1 ~ 31 , 1 為最慢, 31 為最高,系統執行時依執行緒為基於程序之優先順序之混合運算後,得到系統中之優先順序,詳細混合運算量級表如下:
| 系統優先順序 | 程序優先順序類別 | 執行緒優先順序等級 |
| 1 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_IDLE |
| 1 | BELOW_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_IDLE |
| 1 | NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_IDLE |
| 1 | ABOVE_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_IDLE |
| 1 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_IDLE |
| 2 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST |
| 3 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL |
| 4 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL |
| 4 | BELOW_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST |
| 5 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL |
| 5 | BELOW_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL |
| 5 | Background NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST |
| 6 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST |
| 6 | BELOW_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL |
| 6 | Background NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL |
| 7 | BELOW_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL |
| 7 | Background NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL |
| 7 | Foreground NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST |
| 8 | BELOW_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST |
| 8 | NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL |
| 8 | Foreground NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL |
| 8 | ABOVE_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST |
| 9 | NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST |
| 9 | Foreground NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL |
| 9 | ABOVE_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL |
| 10 | Foreground NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL |
| 10 | ABOVE_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL |
| 11 | Foreground NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST |
| 11 | ABOVE_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL |
| 11 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST |
| 12 | ABOVE_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST |
| 12 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL |
| 13 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL |
| 14 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL |
| 15 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST |
| 15 | HIGH_PRIORITY_CLASS | THREAD_PRIORITY_TIME_CRITICAL |
| 15 | IDLE_PRIORITY_CLASS | THREAD_PRIORITY_TIME_CRITICAL |
| 15 | BELOW_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_TIME_CRITICAL |
| 15 | NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_TIME_CRITICAL |
| 15 | ABOVE_NORMAL_PRIORITY_CLASS | THREAD_PRIORITY_TIME_CRITICAL |
| 16 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_IDLE |
| 17 | REALTIME_PRIORITY_CLASS | -7 |
| 18 | REALTIME_PRIORITY_CLASS | -6 |
| 19 | REALTIME_PRIORITY_CLASS | -5 |
| 20 | REALTIME_PRIORITY_CLASS | -4 |
| 21 | REALTIME_PRIORITY_CLASS | -3 |
| 22 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_LOWEST |
| 23 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_BELOW_NORMAL |
| 24 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_NORMAL |
| 25 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_ABOVE_NORMAL |
| 26 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_HIGHEST |
| 27 | REALTIME_PRIORITY_CLASS | 3 |
| 28 | REALTIME_PRIORITY_CLASS | 4 |
| 29 | REALTIME_PRIORITY_CLASS | 5 |
| 30 | REALTIME_PRIORITY_CLASS | 6 |
| 31 | REALTIME_PRIORITY_CLASS | THREAD_PRIORITY_TIME_CRITICAL |

本文详细介绍了Windows系统中进程优先级的划分及其如何影响进程调度。通过了解不同优先级类别的程序与执行绪间的组合,读者可以更好地掌握系统资源分配的原则。
987

被折叠的 条评论
为什么被折叠?



