在实现互斥对象时,有几种体系结构选择,例如,
为什么屈服互斥最不可取?使用它会带来多严重的后果?
发布于 2013-09-06 00:36:18
休眠互斥具有更多的公平性。屈服的互斥物会导致饥饿。
屈服模型的问题是,一个过程可能会被要求一次又一次地屈服,而其他过程则会挖掘互斥(参见驳船),或者只需要等待更短的时间。
取决于新进程是如何添加到队列中的,甚至可能发生这样的情况:每当某个进程到达它的回合时,它就会被迫屈服,因为互斥对象已经被占用,从而使进程饥饿。
FIFO模型确保在先到先得的基础上为等待过程服务。在操作系统中更难实现,但更公平。
模型会变得更复杂。例如,操作系统也可能有进程的优先级,并且优先级会随着时间的推移而改变。这样,队列系统的实现就会变得更加棘手。
https://stackoverflow.com/questions/18646790
复制相似问题