SO-1st-2.3-w12.tresc-1.0-Slajd41: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Dwa (dyskusja | edycje)
Nie podano opisu zmian
 
Dwa (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 4: Linia 4:




Wejście ''wstaw'' wywoływane jest przez producenta. Przed umieszczeniem elementu w puli danego bufora należy sprawdzić, czy jest wolne miejsce, czyli czy bieżące wypełnienie bufora — ''licz'' — nie jest takie, jak jego pojemność — ''n'' . Jeśli wartości są równe, bufor jest całkowicie zapełniony i proces producenta usypiany jest na zmiennej warunkowej ''pełny'' . Obudzony zostanie dopiero przez konsumenta po pobraniu elementu.
Wejście ''wstaw'' wywoływane jest przez producenta. Przed umieszczeniem elementu w puli danego bufora należy sprawdzić, czy jest wolne miejsce, czyli czy bieżące wypełnienie bufora — ''licz'' — nie jest takie, jak jego pojemność — ''n''. Jeśli wartości są równe, bufor jest całkowicie zapełniony i proces producenta usypiany jest na zmiennej warunkowej ''pełny''. Obudzony zostanie dopiero przez konsumenta po pobraniu elementu.


Jeśli w buforze jest wolne miejsce, na pozycji wskazanej przez zmienną ''wej'' umieszczany jest element, wstawiany przez producenta, po czym zmienna ''wej'' jest zwiększana cyklicznie o 1. Zwiększana jest też o 1 zmienna ''licz'' , gdyż przybył jeden element.  
Jeśli w buforze jest wolne miejsce, na pozycji wskazanej przez zmienną ''wej'' umieszczany jest element, wstawiany przez producenta, po czym zmienna ''wej'' jest zwiększana cyklicznie o 1. Zwiększana jest też o 1 zmienna ''licz'', gdyż przybył jeden element.
 
Na końcu wysyłany jest sygnał dla (być może) oczekującego konsumenta, że pojawiło się coś w buforze, co można skonsumować. Jeśli nikt nie czekan na zmiennej warunkowej ''pusty'', sygnał zostanie zignorowany.


Na końcu wysyłany jest sygnał dla (być może) oczekującego konsumenta, że pojawiło się coś w buforze, co można skonsumować. Jeśli nikt nie czekan na zmiennej warunkowej ''pusty'' , sygnał zostanie zignorowany.




[[SO-1st-2.3-w12.tresc-1.0-Slajd40 | << Poprzedni slajd]] | [[SO-1st-2.3-w12.tresc-1.0-toc|Spis treści ]] | [[SO-1st-2.3-w12.tresc-1.0-Slajd42 | Następny slajd >>]]
[[SO-1st-2.3-w12.tresc-1.0-Slajd40 | << Poprzedni slajd]] | [[SO-1st-2.3-w12.tresc-1.0-toc|Spis treści ]] | [[SO-1st-2.3-w12.tresc-1.0-Slajd42 | Następny slajd >>]]

Aktualna wersja na dzień 19:59, 24 wrz 2006

Ograniczony bufor cykliczny — definicja oparta na monitorze (2)

Ograniczony bufor cykliczny — definicja oparta na monitorze (2)


Wejście wstaw wywoływane jest przez producenta. Przed umieszczeniem elementu w puli danego bufora należy sprawdzić, czy jest wolne miejsce, czyli czy bieżące wypełnienie bufora — licz — nie jest takie, jak jego pojemność — n. Jeśli wartości są równe, bufor jest całkowicie zapełniony i proces producenta usypiany jest na zmiennej warunkowej pełny. Obudzony zostanie dopiero przez konsumenta po pobraniu elementu.

Jeśli w buforze jest wolne miejsce, na pozycji wskazanej przez zmienną wej umieszczany jest element, wstawiany przez producenta, po czym zmienna wej jest zwiększana cyklicznie o 1. Zwiększana jest też o 1 zmienna licz, gdyż przybył jeden element.

Na końcu wysyłany jest sygnał dla (być może) oczekującego konsumenta, że pojawiło się coś w buforze, co można skonsumować. Jeśli nikt nie czekan na zmiennej warunkowej pusty, sygnał zostanie zignorowany.


<< Poprzedni slajd | Spis treści | Następny slajd >>