c – 为什么抢占不能解决优先级倒置?

c – 为什么抢占不能解决优先级倒置?,第1张

概述我想知道为什么抢占不解决优先级倒置问题? 如果我们有抢先内核.那么为什么优先级倒置问题无法解决? 好吧,假设我们有两个流程.我们还假设具有较低优先级的进程获得锁定.当优先级较高的进程准备就绪时,它会抢占其他进程.如果优先级较高的进程需要该锁定,则由于具有较低优先级的其他进程而无法获取该锁定.这意味着,优先级较低的进程会阻止优先级较高的进程.它可以防止更高优先级的进程运行.这称为“优先级倒置”. 显 我想知道为什么抢占不解决优先级倒置问题?
如果我们有抢先内核.那么为什么优先级倒置问题无法解决?解决方法 好吧,假设我们有两个流程.我们还假设具有较低优先级的进程获得锁定.当优先级较高的进程准备就绪时,它会抢占其他进程.如果优先级较高的进程需要该锁定,则由于具有较低优先级的其他进程而无法获取该锁定.这意味着,优先级较低的进程会阻止优先级较高的进程.它可以防止更高优先级的进程运行.这称为“优先级倒置”.

显然,抢占不是优先级倒置的解决方案.解决方案是“优先级继承”.这意味着我们应该在获取优先级较高的进程所需的锁时临时增加进程的优先级.它应该是可能需要相同锁定的其他进程中的最高优先级进程.

总结

以上是内存溢出为你收集整理的c – 为什么抢占不能解决优先级倒置?全部内容,希望文章能够帮你解决c – 为什么抢占不能解决优先级倒置?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1220855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存