我想知道为什么抢占不能解决优先级倒置问题?
如果我们有抢占式内核。那为什么优先级反转问题没有解决呢?
最佳答案
好的,假设我们有两个进程。我们还假设优先级较低的进程获得了锁。当优先级更高的进程就绪时,它会抢占其他进程。如果优先级较高的进程需要该锁,则由于其他优先级较低的进程而无法获得它。这意味着,优先级较低的进程会阻塞优先级较高的进程。它阻止更高优先级的进程运行。这称为“优先级反转”。
显然,抢占不是优先级倒置的解决方案。解决方案是“优先继承”。这意味着我们应该在进程获得更高优先级进程也需要的锁时临时增加进程的优先级。它应该是可能需要相同锁的其他进程中优先级最高的进程。
关于c - 为什么抢占不能解决优先级倒置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11339182/