Problém obědvajících filozofů: Porovnání verzí
Smazaný obsah Přidaný obsah
m r2.5.2) (robot přidal: uk:Проблема філософів, що обідають; kosmetické úpravy |
|||
Řádek 5:
== Ilustrace problému obědvajících filosofů ==
Představme si kulatý stůl, na kterém je po obvodu položených 5 talířů. Mezi každými dvěma talíři je jedna čínská hůlka, celkem je jich tedy 5. Dále si představme, že za tímto stolem sedí
Když filosofové (procesy) spolu nekomunikují nebo komunikují nesprávně, může se každý z nich rozhodnout, že vezme například levou hůlku. Teď chce každý z nich vzít pravou hůlku, ale ta je obsazena, takže filozof nemůže ani obědvat, ani filosofovat. Takový stav se nazývá [[uváznutí]] ([[deadlock]]). Musí tedy buď počkat, dokud se hůlka uvolní, nebo hůlku položit a zkusit to později znovu.
Řádek 11:
Jiným kritickým stavem je [[vyhladovění]] ({{Vjazyce2|en|''starvation''}}, {{Vjazyce2|cs|''stárnutí zdrojů''}}), které nastává, když se filozof nedostane po určité době k jídlu (resp. proces ke [[zdroj|zdrojům]]). Nastává například při velmi krátkých [[časový interval|intervalech]] jezení a filosofování.
Nedostatek volných hůlek je [[analogie|analogii]] ke zamykání [[sdílení|sdílených]] prostředků v reálném počítačovém [[programování]], situace známá, jako [[souběžnost]]. Zamykání prostředku je běžná [[technika]], jak zajistit [[konzistence|konzistenci]] daného zdroje v čase. Když [[zdroj]], se kterým [[počítačový program|program]] pracuje, už je uzamčen jiným programem, program čeká, dokud není odemčen. Pokud některé programy vyžadují zamykání zdrojů, může nastat deadlock. Závisí tudíž na okolnostech. Například, jeden program potřebuje dva soubory ke zpracování. Když dva takové programy uzamknou každý jeden z těchto souborů, oba budou čekat na to, aby ten druhý uvolnil zdroj, který má k dispozici, což se nikdy nestane.
|