SO-1st-2.3-w12.tresc-1.0-Slajd31
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Problem pięciu filozofów
Synchronizacja w problemie pięciu filozofów odbywa się na dwóch poziomach:
- lokalnym — synchronizacja dostępu do konkretnego widelca,
- globalnym — koordynacja działań wszystkich pięciu filozofów w taki sposób, aby nie dopuścić do zakleszczenie, uwięzienia lub zagłodzenia któregoś z filozofów.
Potrzeba synchronizacji na poziomie lokalnym wynika z faktu, że każdy widelec jest współwłasnością dwóch filozofów, a używany w danej chwili może być tylko przez co najwyżej jednego z nich. Globalna koordynacja z kolei jest wymagana, gdyż każdy filozof w celu przejścia do stanu „jedzenie” potrzebuje dwóch widelców. Uzyskanie tylko jednego z nich może oznaczać przetrzymywanie zasobu bez wyraźnej perspektywy zwolnienia go po osiągnięciu stanu „sytości”, do czego potrzeba drugiego.