Analogia semafora zliczającego Załóżmy, że "zasoby" to stoliki w restauracji a "procesy" to jej klienci. "Semafor" jest reprezentowany przez kelnera, który jako jedyna osoba decyduje o udostępnianiu stolików. Kelner liczy w pamięci wolne stoliki (utables) i zawsze wie kogo umieścić jako pierwszego przy zwolnionym stoliku. Jest on bardzo zajęty i skoncentrowany i nikt nie może mu przeszkadzać w trakcie wykonywania obowiązków.
Kiedy restauracja rozpoczyna działalność będzie początkowo pusta. Innymi słowy "wartość" "semafora" będzie równa liczbie stolików (tables) w restauracji (czyli utables=tables). Kiedy ktoś przybywa, kelner umieści go (lub ją) przy stoliku i zmniejszy w pamięci liczbę wolnych stolików (utables=utables-1). Teraz "wartość" "semafora" jest równa liczbie stolików w restauracji minus 1.
Jeżeli wielu klientów przybędzie jednocześnie, kelner ulokuje ich przy stolikach w kolejności przybycia zakładając, że na sali znajduje się wystarczająca liczba stolików, aby zmieścić wszystkich (utables>0). Przybywający goście z rezerwacjami mogą zostać ulokowani przy stolikach przed innymi, którzy nie mają rezerwacji, gdyż mają przed nimi pierwszeństwo. Po zajęciu któregoś ze stolików kelner ponownie wyliczy wartość utables=utables-1.