新闻中心

任务排队时等待时间和处理时间怎样分开:十二项任务的队列时间分解(实例09)

2026-11-06

任务到达后可能先排队,再由执行器处理。只看结束减到达的总时间,会把等待与实际工作混在一起,难以判断卡顿来自队列积压还是单项任务本身。

固定规则与输入

只有一个执行器,按到达时间排序,同一时刻到达时按编号排序。任务不中断,执行器空闲就立即取队头。每项有到达时刻和正整数处理时长。

到达时刻[2, 2, 2, 4, 7, 8, 9, 9, 9, 13, 13, 15] 处理时长[4, 4, 2, 5, 6, 6, 2, 5, 3, 3, 6, 2]

逐步观察结果

任务0在2到达,处理需4,从2开始到6结束;等待0,周转4,其中周转等于等待加处理。

任务1在2到达,处理需4,从6开始到10结束;等待4,周转8,其中周转等于等待加处理。

任务2在2到达,处理需2,从10开始到12结束;等待8,周转10,其中周转等于等待加处理。

任务3在4到达,处理需5,从12开始到17结束;等待8,周转13,其中周转等于等待加处理。

任务4在7到达,处理需6,从17开始到23结束;等待10,周转16,其中周转等于等待加处理。

任务5在8到达,处理需6,从23开始到29结束;等待15,周转21,其中周转等于等待加处理。

任务6在9到达,处理需2,从29开始到31结束;等待20,周转22,其中周转等于等待加处理。

任务7在9到达,处理需5,从31开始到36结束;等待22,周转27,其中周转等于等待加处理。

任务8在9到达,处理需3,从36开始到39结束;等待27,周转30,其中周转等于等待加处理。

任务9在13到达,处理需3,从39开始到42结束;等待26,周转29,其中周转等于等待加处理。

任务10在13到达,处理需6,从42开始到48结束;等待29,周转35,其中周转等于等待加处理。

任务11在15到达,处理需2,从48开始到50结束;等待33,周转35,其中周转等于等待加处理。

逐单位时刻的等待队列长度[0, 0, 2, 2, 3, 3, 2, 3, 4, 7, 6, 6, 5, 7, 7, 8, 8, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0],面积总和202,各任务等待总和202。忙碌时间共48,其余时间是执行器空闲,不应记成某项任务的处理耗时。

独立复核

开始时刻为到达时刻与上一项结束时刻的较大值。等待等于开始减到达,周转等于结束减到达。把每个时刻处于等待状态的任务数加起来,应等于全部任务等待时间之和。

复核时先保留本例输入,再自己写出中间状态。若结果不同,应从最早出现差异的位置检查,尤其留意边界是否包含、索引从哪里开始、取整何时发生,以及是否使用了尚未更新的旧状态。计算得到的结论仅适用于已经说明的规则,修改规则后需要重新验证。

适用范围

本例没有任务优先级、取消或多执行器。等待队列不包括当前正在处理的那一项,统计区间采用到达含、开始不含。改用其他口径后,面积关系也必须相应调整。