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

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

Produkuję dane

Produkuję dane

Produkuję dane

Produkuję dane

Konsumuję dane

Czekam

Czekam

Konsumuję dane

Czekam

Konsumuję

Producent i konsument – sytuacja idealna Producent Konsument Produkuję dane Produkuję dane
dane

Czekam

Слайд 4

Producent produkuje szybciej niż konsument konsumuje

Producent

Konsument

Produkuję dane

Produkuję dane

Produkuję dane

Produkuję dane

Konsumuję dane

Czekam

Konsumuję dane

Konsumuję

Producent produkuje szybciej niż konsument konsumuje Producent Konsument Produkuję dane Produkuję dane
dane

Bufor

Dane oczekujące

Dane oczekujące

Dane oczekujące

Слайд 5

Problem wielkości bufora

Jeśli średni czas konsumpcji jest krótszy od średniego czasu produkcji

Problem wielkości bufora Jeśli średni czas konsumpcji jest krótszy od średniego czasu
– 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

Pisarz

Pisarz

Pisarz

Czytelnik

Czytelnik

Czytelnik

wielu czytelników może czytać naraz

czytelnia musi być pusta, aby

Problem czytelników i pisarzy Czytelnia Pisarz Pisarz Pisarz Czytelnik Czytelnik Czytelnik wielu
pisarz mógł pisać

Слайд 7

Rozwiązanie z możliwością zagłodzenia pisarzy

Pisarz

Czytelnik

Czy są w czytelni inni czytelnicy?

Wchodzę

Czy w czytelni

Rozwiązanie z możliwością zagłodzenia pisarzy Pisarz Czytelnik Czy są w czytelni inni
jest pisarz?

T

N

N

Czekam

T

Czy czytelnia jest pusta?

Wchodzę

T

Czekam

N

Слайд 8

Rozwiązanie z możliwością zagłodzenia czytelników

Pisarz

Czytelnik

Czy są w czytelni inni czytelnicy?

Wchodzę

Czy w czytelni

Rozwiązanie z możliwością zagłodzenia czytelników Pisarz Czytelnik Czy są w czytelni inni
jest pisarz?

T

N

N

Czekam

T

Czy czytelnia jest pusta?

Wchodzę

T

Czekam

N

Czy pisarz czeka na wejście?

N

Czekam

T

Слайд 9

Rozwiązanie poprawne

Pisarz

Czytelnik

Czy są w czytelni inni czytelnicy?

Wchodzę

Czy w czytelni jest pisarz?

T

N

N

Czekam

T

Czy czytelnia

Rozwiązanie poprawne Pisarz Czytelnik Czy są w czytelni inni czytelnicy? Wchodzę Czy
jest pusta?

Wchodzę

T

Czekam

N

Czy pisarz czeka na wejście?

N

Czekam

T

Czy czytelnicy czekają na wejście?

N

Wpuść wszystkich czytelników

T

Слайд 10

Problem pięciu filozofów

filozof

miska ryżu

pałeczka

każdy filozof do jedzenia potrzebuje dwóch pałeczek

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?

Czy prawa pałeczka jest wolna?

Czekam

Podnoszę

Rozwiązanie z możliwością zakleszczenia Filozof Czy lewa pałeczka jest wolna? Czy prawa
lewą pałeczkę

T

N

Czekam

N

T

Podnoszę prawą pałeczkę

Jem

Odkładam pałeczki

Myślę

Слайд 12

Rozwiązanie z możliwością zagłodzenia

Filozof

Czy obie pałeczki są wolne?

Czekam

Podnoszę obie pałeczki

T

N

Jem

Odkładam pałeczki

Myślę

Rozwiązanie z możliwością zagłodzenia Filozof Czy obie pałeczki są wolne? Czekam Podnoszę