SO-1st-2.3-w12.tresc-1.0-Slajd41: Różnice pomiędzy wersjami
Nie podano opisu zmian |
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. | |||
[[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)
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.