本文用较为轻松的方式介绍了几个经典的互斥算法: Dekker 算法、Dijkstra 提出的算法、Peterson 算法和面包店算法,并简单地给出了每一个算法的正确性证明和相关的讨论。本文探寻分布式计算历史上的几个非常有名非常经典的互斥算法,尽管这些算法几乎是所有操作系统、分布式系统或多线程编程课本中必介绍的算 法,可是由于这些算法由于性能问题已经被现代的算法或机制替代了,实际中不会有人使用这些算法。尽管如此,了解这些算法可以帮助我们理解同步领域的基本原理。此外,了解这些算法的正确性证明可还可以训练并发算法正确性推导的思维。
由于博客上不容易做出精美的排版,所以本文采用LaTeX排版并输出pdf,下面是pdf文件的新浪微盘链接,欢迎下载!