デッカーのアルゴリズムの画像画像引用元: upload.wikimedia.org

デッカーのアルゴリズム

推定知名度0.13%15〜75歳男女
推定知名度--%20〜35歳男女

デッカーのアルゴリズムはオランダ人数学者 T・J・デッカーの考案した相互排他のためのアルゴリズムである。これにより、共有メモリによる通信のみで、2つのプロセスが1つのリソースを競合することなく共有することができる。厳密に交互にとっていく素朴なアルゴリズムを避けて発明された世界初の相互排他アルゴリズムの1つである。ふたつのプロセスが同時に同じクリティカルセクションにアクセスしようとしたとき、このアルゴリズムはどちらのプロセスがアクセス権を得るかを決定する。もしもう一方のプロセスが既にクリティカルセクションに変更を加えていたら、その完了を待つ。 f0 := false f1 := false turn := 0 // or 1 p0: f0 := true p1: f1 := true while f1 = true // Start of Critical Section ・・・ // End of Critical Section turn := 1 turn := 0 f0 := false f1 := false

過去の推移