Aterioivat filosofit
Wikipedia
"Aterioivat filosofit" (engl. The Dining Philosophers problem) on Edsger Dijkstran 1965 esittämä, tietojenkäsittelyyn liittyvä klassinen rinnakkaisuusongelma joka menee seuraavasti:
"Viisi filosofia istuu pyöreän pöydän ympärillä. Jokaisella filosofilla on edessään lautasellinen spagettia. Spagetti on niin liukasta, että kukin filosofi tarvitsee kaksi haarukkaa syödäkseen. Ideaalisten filosofiemme elämä koostuu ainoastaan syömisestä ja ajattelemisesta. Kun filosofi tulee nälkäiseksi hän yrittää saada itselleen lautasen oikealla ja vasemmalla puolella olevan haarukan. Jos haarukoiden saanti onnistuu, hän syö hetken, laittaa haarukat takaisin pöydälle ja jatkaa miettimistään."
Tavoitteena on luoda toimintaohje/algoritmi, joka ratkaisee tilanteen niin, että filosofit saavat syödäkseen. Ongelmana on se, että ratkaistut pyrkivät menemään tiloihin nääntyminen (engl. starvation) tai lukkiutuminen (engl. deadlock).
- "Lukkiutuminen" on tilanne, jossa kukaan ei pääse syömään koskaan. Malliesimerkki tästä on, että jokaisella filosofilla on kädessään yksi haarukka, jolloin kukaan ei voi saada kahta haarukkaa.
- "Nääntyminen" on tilanne, jossa joku yksittäinen tai useampi filosofi joutuu odottamaan syömistään kohtuuttoman kauan, koska kyseisen filosofin haarukat ovat kyseisen filosofin naapurien käytössä.