《Win32多线程程序设计》之线程优先级

本文介绍了Win32系统中线程优先级的概念,包括优先权类别、优先权层级及其对线程执行的影响。线程优先级通过SetThreadPriority()和GetThreadPriority()进行调整,但滥用可能导致死锁。建议在特定场景谨慎使用。
摘要由CSDN通过智能技术生成

线程优先权(Thread Priority)

Win32 优先权是以数值表现的,并以进程的“优先权类别(priorityclass)”、线程的“优先权层级 (priority level)”和操作系统当时采用的“动态提升(Dynamic Boost )”作为计算基准。 所有因素放在一起,最后获得一个 0~31 的数值。拥有最高优先权之线程,即为下一个将执行起来的线程。

1. 优先权类别(Priority Class)
进程属性,Win32 提供四种优先权类别,每一个类别对应一个基本的优先权层级。
优先权类别(Priority Classes) 基础优先权值(base priority)
HIGH_PRIORITY_CLASS 13
IDLE_PRIORITY_CLASS 4
NORMAL_PRIORITY_CLASS 7 or 8(译注:有些资料上写 7 or 9)
REALTIME_PRIORITY_CLASS 24

大部分程序使用 NORMAL_PRIORITY_CLASS 。少数情况下才会考虑使用其他类别。例如, Task Manager就是使用 HIGH_ PRIORITY_CLASS,所以即使其他程序处于非常忙碌的状态下,它也总是能够有所反应。

屏 幕 保 护 程 序 使 用IDLE_PRIORITY_CLASS,它就只会在 CPU 绝对空闲的时候才执行。

最后一个类别是 REALTIME_ P

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值