ランポートのパン屋のアルゴリズム
ランポートのパン屋のアルゴリズム(ランポートのパンやのアルゴリズム)とは、レスリー・ランポートが考案した相互排他のためのアルゴリズムである。マルチスレッド処理などのロバストさを相互排他(ミューテックス)によって強化することを目的としている。
マルチスレッドなシステムにおいて、2つ以上のスレッドから同時に同一のリソースにアクセスすることがしばしば起きる。しかし例えば、2つ以上のスレッドがそれぞれ「リード・モディファイ・ライト」を同一の対象に相互排他なしに行えばデータは意図しない状態になり得るし、あるスレッドが複数のデータをアトミックでなく書き込んでいる途中に別のスレッドがそれを読み込んでも一貫性の損なわれたデータを読み込む可能性がある。ランポートのパン屋のアルゴリズムは数ある相互排他アルゴリズムのひとつで、並列スレッドが同時にクリティカルセクションに入ることを防いでデータ破壊の危険性を排除する。