线程状态与转换学习卡片

🔄

线程核心三状态

点击查看详情

线程核心三状态

  • 运行态:线程正在处理器上执行
  • 就绪态:线程已准备好运行,等待被调度程序选中
  • 阻塞态:线程因等待某事件(如I/O操作)而暂停执行
🔄➡️

状态转换关系

点击查看详情

状态转换关系

  • 运行→就绪(转换②):时间片用完,线程被剥夺处理器
  • 就绪→运行(转换③):调度程序选中该线程执行
  • 运行→阻塞(转换①):线程发出等待请求(如I/O)
  • 阻塞→就绪(转换④):等待的事件发生
📋

线程控制块(TCB)

点击查看详情

线程控制块(TCB)

  • 标识信息:TID(线程唯一标识符)
  • 执行上下文
    • 程序计数器(PC)
    • 通用寄存器值
    • 堆栈指针(SP)
  • 管理信息
    • 运行状态(运行/就绪/阻塞等)
    • 优先级
    • 阻塞原因(如适用)
🗂️

线程表组织方式

点击查看详情

线程表组织方式

  • 按进程划分:每个进程维护自己的线程表
  • 按状态分类:将不同状态的线程组织到不同表中
  • 全局统一管理:系统维护一个统一的线程表
⚠️

考试重点/易混淆点

点击查看详情

考试重点/易混淆点

  • 状态转换逻辑与进程完全一致
  • 堆栈存储内容(函数调用链/局部变量)与仅保存指针的优化设计对比
  • 线程表组织策略差异(如每进程独立表vs全局统一表)
  • 现场保存粒度(完整堆栈vs指针引用)的取舍