本章进度 5 / 18
28%
数据结构与算法直觉·判断·13 分钟
正文已完成

公平、时效与依赖决定任务顺序

在简单栈与队列之外,判断优先级、过期时间和依赖是否要求显式调度。

L280
为什么现在学

把“栈与队列”从听懂变成会判断,避免遇到真实任务时仍靠感觉选择。

本课会用什么
  • 无需安装新工具
  • 准备一个可对照的真实问题或样本

现实任务不总是严格先来先服务。紧急告警可能插队,过期任务应停止,存在依赖的任务必须等待前置完成。调度规则和防饥饿机制需要提前写清楚。

这一课的结果

能识别普通 FIFO 队列不适用的场景,并提出可解释的调度规则。

核心概念

先把关键判断说清楚

01

FIFO 提供基础公平

到达顺序明确、任务价值相近时,先进先出最容易解释和审计。

02

优先级必须有边界

紧急任务可以插队,但要定义谁能标记、何时过期,以及普通任务等待多久后提升优先级。

03

依赖优先于到达时间

尚未满足前置条件的任务即使最早到达也不能执行,应进入等待状态而非反复失败。

案例拆解

客服队列加入有限优先级

普通咨询与账号被盗请求共用 FIFO 队列,紧急事件等待过久;直接让所有“紧急”插队后又造成滥用。

  1. 01

    仅允许安全规则自动标记账号被盗类请求为 P0,人工修改必须留理由。

  2. 02

    P0 使用独立队列并限制并发占比,剩余处理能力继续消费普通 FIFO。

  3. 03

    普通请求等待超过两小时后自动提升一级,防止长期饥饿。

案例结果

紧急事件获得时效保障,同时普通用户仍有可预测的最长等待。

提交前练习

现在轮到你

为一组存在普通与紧急任务的队列写出可审计调度规则。

完成本课需要:完成以下内容用于本课收口。

内容会自动保存在当前设备
查看参考答案与评分标准

参考答案

P0是数据泄露告警,由检测规则触发;P1是普通运维工单。每 5 个处理槽至少留 2 个给 P1;P1 等待 60 分钟后提升;记录原等级、触发规则、变更时间和操作者。

评分标准

  • 等级由可验证条件触发
  • 配额兼顾时效与公平
  • 优先级变化可以追溯

本课收口 · 应用检查

完成一次应用,再检查理解

完成一次必填练习,再通过理解检查;阅读标记和总结不设硬门槛。

0 / 2
02完成本课必填练习0 / 4 项必填内容已填写03通过理解检查点此去回答,约 30 秒
04补一句总结(可选)可以留空,不影响完成本课。
优先队列最常见的治理缺口是什么?
你现在更接近哪一种状态?
尚有必填项未完成,请补齐后再继续。

资料来源

继续核对与延伸阅读

本课内容最近更新于 。