软件实现方式
单标志法
缺点:违背“空闲让进”
双标志先检查法
缺点:违背“忙则等待”
双标志后检查法
缺点:饥饿现象
Peterson算法⭐
利用flag解决临界资源的互斥访问。
利用turn解决“饥饿”现象。
Peterson算法可以想象为两个人进门,每个人进门前都会和对方客套一句“你先进”。若进门时没别人,就当和空气说句废话,然后自行进入;若两人同时进门,就互相先请,但各自只客套一次,所以先客套的人请完对方,就等对方请自己,然后自己先进入。
满足有限等待,但不满足让权等待。
硬件实现方式 (都不能实现让权等待)
中断屏蔽方法
硬件指令方法
TestAndSet指令(TS或TSL)⭐
Swap指令
硬件方法优点:
硬件方法的缺点⭐: