首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优先级反演

优先级反演
EN

Stack Overflow用户
提问于 2011-06-06 11:56:55
回答 1查看 505关注 0票数 5

我很难理解优先级反演

文章中的片段:

考虑到有一个任务L,低优先级。这个任务需要资源R。考虑到L正在运行,并且它获得了资源R。现在,还有另一个任务H,具有较高的优先级。这个任务还需要资源R。在L获得资源R之后,考虑H启动。现在H必须等到L放弃资源R。 到目前为止,一切都按预期工作,但当新任务M在此期间以中等优先级开始时,就会出现问题。`由于R仍在使用(按L表示),H无法运行。由于M是最高优先级的未阻塞任务,它将在L之前被调度。由于L被M抢占,L不能放弃R,所以M会一直运行到它完成为止,然后L会运行--至少在一个可以放弃R的点上--然后H就会运行。因此,在上述场景中,具有中等优先级的任务运行在优先级较高的任务之前,从而有效地给了我们优先级反转。

这一问题与本条第二部分有关。为什么具有H(较高)优先级的进程不能抢先具有L(较低)优先级的进程,而具有M(中等)优先级的进程可以抢先抢占?也就是说,如果由于R的使用而使H被阻塞,为什么M也没有被阻塞呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-06 12:00:19

因为M不需要资源R,所以它可以在L还在使用时运行;另一方面,在L能够释放R之前,H不能运行。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6251641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档