1 / 13

Klasyczne problemy współbieżności i ich rozwiązania

Jarosław Kuchta. Klasyczne problemy współbieżności i ich rozwiązania. Klasyczne problemy współbieżności. Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów. Producent i konsument – sytuacja idealna. Producent. Konsument. Czekam. Produkuję dane.

alima
Download Presentation

Klasyczne problemy współbieżności i ich rozwiązania

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jarosław Kuchta Klasyczne problemy współbieżności i ich rozwiązania

  2. Klasyczne problemy współbieżności • Problem producenta i konsumenta • Problem czytelników i pisarzy • Problem pięciu filozofów

  3. Producent i konsument – sytuacja idealna Producent Konsument Czekam Produkuję dane Konsumuję dane Produkuję dane Czekam Konsumuję dane Produkuję dane Czekam Konsumuję dane Produkuję dane Czekam

  4. Producent produkuje szybciej niż konsument konsumuje Producent Bufor Konsument Czekam Produkuję dane Produkuję dane Konsumuję dane Dane oczekujące Produkuję dane Konsumuję dane Dane oczekujące Produkuję dane Dane oczekujące Konsumuję dane

  5. Problem wielkości bufora • Jeśli średni czas konsumpcji jest krótszy od średniego czasu produkcji – bufor może być niepotrzebny. • Jeśli średni czas konsumpcji jest dłuższy od średniego czasu produkcji – w nieskończonym czasie dowolnej wielkości bufor może być za krótki. • Jeśli średni czas konsumpcji jest równy od średniemu czasowi produkcji – ustala się tak wielkość bufora, aby wystarczył na pewien czas. • Wniosek – jeśli nie możemy zagwarantować, że średni czas konsumpcji będzie mniejszy lub równy średniemu czasowi produkcji, to zawsze jakaś porcja danych może zostać utracona.

  6. Problem czytelników i pisarzy czytelnia musi być pusta, aby pisarz mógł pisać Pisarz Czytelnik Czytelnia Czytelnik Pisarz Czytelnik Pisarz wielu czytelników może czytać naraz

  7. Rozwiązanie z możliwością zagłodzenia pisarzy Pisarz Czytelnik T N Czy czytelnia jest pusta? T Czy są w czytelni inni czytelnicy? N Czekam Wchodzę Wchodzę N Czy w czytelni jest pisarz? T Czekam

  8. Rozwiązanie z możliwością zagłodzenia czytelników Pisarz Czytelnik T Czy czytelnia jest pusta? T Czy pisarz czeka na wejście? Czekam N N Czekam Wchodzę T N Czy są w czytelni inni czytelnicy? Wchodzę N Czy w czytelni jest pisarz? T Czekam

  9. Rozwiązanie poprawne Pisarz Czytelnik T T Czy czytelnicy czekają na wejście? Wpuść wszystkich czytelników Czy pisarz czeka na wejście? Czekam N N T N Czy czytelnia jest pusta? T Czy są w czytelni inni czytelnicy? N Czekam Wchodzę Wchodzę N Czy w czytelni jest pisarz? T Czekam

  10. Problem pięciu filozofów filozof miska ryżu pałeczka każdy filozof do jedzenia potrzebuje dwóch pałeczek

  11. Rozwiązanie z możliwością zakleszczenia Filozof Czy lewa pałeczka jest wolna? N Czekam T Podnoszę lewą pałeczkę Czy prawa pałeczka jest wolna? N Czekam Myślę T Podnoszę prawą pałeczkę Jem Odkładam pałeczki

  12. Rozwiązanie z możliwością zagłodzenia Filozof Czy obie pałeczki są wolne? N Czekam T Podnoszę obie pałeczki Myślę Jem Odkładam pałeczki

  13. Rozwiązanie poprawne • Możliwe tylko przy wprowadzeniu arbitra (służącego) • Służący ma dbać o to, aby najwyżej czterech filozofów naraz konkurowało o pałeczki. • Jeśli piąty filozof, chce podnieść pałeczkę, to służący go powstrzymuje do czasu, aż pozostałych czterech skończy jeść.

More Related