这个问题挺有趣的,因为可以在不同领域来回答。
在社会领域,空泛的讲权利义务的话,你当然有权要求快递员让开,然而快递员同样有权拒绝这个要求。
不过,实际上,我见过的快递员还真的未必会拒绝你的这个请求——甚至我遇到过我排在他后面等,但是快递员主动让我先取的情况。因为他真要有100个快递要投递的话,那么不够格子放是个挺大概率的事。那么,你取了快递腾出空格子,那对快递员其实也是有利的。不然,他把格子投完之后,还是要乖乖的等你取了之后才能继续投,所以,卖个人情让你先取,也不见得有多大损失。
在数学算法上,这就是一个吞吐量和延时的取舍问题。
如果主要看吞吐量,那么其实谁先谁后,都是一样的(反正都是100投1取)。如果主要看延时,那么先做快的再做慢的是较优的:就这个例子来说:先投后取,两人平均等待时间是50,先取后投,平均等待0.5。而更大的问题是:如果你做一件事情,原本预计完成时间是100,实际完成时间是101,那基本上大家都不会有什么感觉的。但是,如果原本预计完成时间是1,而实际完成时间是101,那就可能有很大问题,如果有后续工序等着的话,可能就是连锁反应了。
但是——这里必须有个但是——如果扩展一下,100投背后,不仅仅只有1个取,而是有很多个,那就不一定了。因为这样的话,快递员可能就会一直得不到上场的机会,从而超时/饿死(现实点说,估计就是发火打人了吧?)。所以,这就会引入优先级反转、权重计算之类的机制,来综合平衡这些问题。这个机制及其具体算法实现,包括具体参数值的确定,都是任何一个任务调度系统的核心问题,不但在设计时需要仔细权衡,在投入生产后,也需要定期监控,不断的根据实际情况调整。
所以,总体而言,这是一个case by case的问题,没有一目了然一概而论的结论。