1. 软件实现方式

    1. 单标志法

      缺点:违背“空闲让进”

    2. 双标志先检查法

      缺点:违背“忙则等待”

    3. 双标志后检查法

      缺点:饥饿现象

    4. Peterson算法⭐

      利用flag解决临界资源的互斥访问。

      利用turn解决“饥饿”现象。

      Peterson算法可以想象为两个人进门,每个人进门前都会和对方客套一句“你先进”。若进门时没别人,就当和空气说句废话,然后自行进入;若两人同时进门,就互相先请,但各自只客套一次,所以先客套的人请完对方,就等对方请自己,然后自己先进入。

      满足有限等待,但不满足让权等待。

  2. 硬件实现方式 (都不能实现让权等待)

    1. 中断屏蔽方法

    2. 硬件指令方法

      TestAndSet指令(TS或TSL)⭐

      Swap指令

硬件方法优点:

硬件方法的缺点⭐: