Wątek (informatyka): Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
gniazd
Spokur (dyskusja | edycje)
Linia 14:
Podręcznikowy przykład: ciąg instrukcji odczyt-zmiana-zapis.<br>
Załóżmy że program ma dane do przetwarzania, umieszczone w N pierwszych komórkach tablicy X. Liczba N zapisana jest w odpowiedniej zmiennej. [[Algorytm]] przetwarzania mógłby wyglądać następująco:
1.# odczytaj zmienną N i sprawdź, czy jest równa 0
2.# jeśli tak (nie ma danych w X), przejdź do kroku 7.
3.# (tu wchodzimy, gdy N równe 1 lub więcej) odczytaj wartość X[N]
4.# zmniejsz wartość N o 1 (zaznacz, że N-ta dana została już zabrana)
5.# zrób coś z tą odczytaną daną (tu następuje właściwe przetwarzanie)
6.# (dana obsłużona - zajmij się następną) przejdź do kroku 1.
7.# (koniec pracy)
Jest to najprostsza pętla opróżniająca stos X. W środowisku jednowątkowym działa zgodnie z oczekiwaniami, przetwarzając kolejno dane X[N], X[N-1], itd. aż do X[1], po czym zatrzymuje się z zerową wartością zmiennej N.