Powrót na stronę UNIX

Tematyka zadania: system V
Rodzaj sprawdzania: na zajęciach
Czas pisania: 70 minut
Sprawdzający: Marcin Borkowski i Przemysław Dobrowolski
Autor Zadania: Katarzyna Sawicka
Oddanie zadania: osobiście
Supermarket:

Wywołanie: ./supermarket c s - c-liczba klientów, s- liczba stanowisk kasowych(>0).

Po wywołaniu programu, tworzonych jest c-procesów klientów, którzy po udaniu się na zakupy, wybierają sobie jedno z s stanowisk kasowych, po czym ustawiają się przy nim w chaotycznej kolejce. Następuje otwarcie kas. Przy jednym stanowisku kasowym może znajdować się tylko jeden klient(podchodząc do kasy informuje o tym innych wypisując na standardowe wyjście: "[numer klienta] Zaczynam zakupy przy kasie nr: [numer kasy]") następnie jest obsługiwany przez 1sek. Jeszcze przed opuszczeniem kasy klient musi zapłacić(losowa wartość), kwota ta wpływa na wspólny dla wszystkich stanowisk rachunek marketu. Wtedy może już spokojnie opuścić sklep ("[numer klienta] place [wpłacona kwota], zwalniam kase nr [numer kasy]").

Po obsłużeniu wszystkich klientów, hipermarket jest zamykany. Wypisana jest wartość rachunku, a następnie następuje sprzątanie.

Uwagi:
Podpowiedź/propozycja do synchronizacji:
Udanych zakupów.
Powrót na stronę UNIX