课程 280 / 365
77%
数据结构与算法直觉·判断·13 分钟
正文已完成

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

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

L280

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

这一课的结果

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

核心概念

先把关键判断说清楚

01

FIFO 提供基础公平

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

02

优先级必须有边界

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

03

依赖优先于到达时间

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

案例拆解

客服队列加入有限优先级

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

  1. 01

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

  2. 02

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

  3. 03

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

案例结果

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

提交前练习

现在轮到你

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

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

参考答案

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

评分标准

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

本课收口 · 学习证据

完成,不等于随手打一个勾。

确认阅读、保存练习,再用 30 秒检查和一句话总结留下真实学习证据。

0 / 3
02完成本课练习0 / 4 项必填内容已填写
03通过理解检查约 30 秒
优先队列最常见的治理缺口是什么?
你现在更接近哪一种状态?
完成上面三项后,才能把本课记为已验证。

资料来源

继续核对与延伸阅读

本课内容最近更新于