Skip to content

Multi-process, multi-threaded supermarket simulation with dynamic cashier management, customer flow control, and emergency evacuation handling. Uses semaphores, mutexes, message queues, and shared memory for synchronization and inter-process communication.

Notifications You must be signed in to change notification settings

ZuzannaZawartka/multi-threaded-supermarket-problem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Supermarket

W supermarkecie jest łącznie 10 kas. Zasady ich działania są następujące:

  • Zawsze działają min. 2 stanowiska kasowe.

  • Na każdych K klientów znajdujących się na terenie supermarketu powinno przypadać min. 1 czynne stanowisko kasowe.

  • Jeśli liczba klientów jest mniejsza niż K*(N-1), gdzie N oznacza liczbę czynnych kas, to jedna z kas zostaje zamknięta.

  • Jeśli przed ogłoszeniem decyzji o zamknięciu kasy w kolejce czekali klienci (do tej kasy) to powinni zostać obsłużeni przez tę kasę.

Klienci przychodzą do supermarketu w losowych momentach czasu i przebywają w nim przez pewien określony losowy dla każdego z nich czas. Na sygnał o pożarze – sygnał wysyła strażak - klienci natychmiast opuszczają supermarket bez robienia zakupów, a następnie po wyjściu klientów zamykane są wszystkie kasy.

Program zawiera strażaka, klienta i kierownika kasjerów.

Link do repozytorium: https://github.com/ZuzannaZawartka/multi-threaded-supermarket-problem

About

Multi-process, multi-threaded supermarket simulation with dynamic cashier management, customer flow control, and emergency evacuation handling. Uses semaphores, mutexes, message queues, and shared memory for synchronization and inter-process communication.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published