《Win32多线程程序设计》–Jim Beveridge & Robert Wiener
Win32 优先权是以数值表现的,并以进程的“优先权类别(priority class)”、线程的“优先权层级 (priority level)”和操作系统当时采用的“动态提升(Dynamic Boost)”作为计算基准。 所有因素放在一起,最后获得一个 0~31 的数值。拥有最高优先权之线程,即为下一个将执行起来的线程。如果你有一大把 worker 线程,其“优先权类别”和“优先权层级”都相同,那么就每一个轮流执行。这是所谓的 “round robin” 调度方式。如果你有一个线程总是拥有最高优先权,那么它就永远获得 CPU 时间,别人都别玩了。这就是为什么必须明智而谨慎地使用优先权的原因。
优先权类别( Priority Class)
“优先权类别”是进程的属性之一。这个属性可以表现出这一进程和其他进程比较之下的重要性。
优先权类别(Priority Classes) | 基础优先权值(base priority) |
---|---|
HIGH_PRIORITY_CLASS | 13 |
IDLE_PRIORITY_CLASS | 4 | </