Pomysł na użycie semafora w aplikacji klient-serwer w Javie

0

Witam,
Semafory są jedną z technik obsługi sekcji krytycznej w Javie:
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Semaphore.html

Nie mam pomysłu na wykorzystanie semafora. Semafor binarny to zwykły Muteks, a większość klas jestem w stanie dobrze zabezpieczyć stosując monitory przez słowo kluczowe synchronized.

Poszukuje problemu do aplikacji klient - serwer (na serwerze działa wiele wątków, każdy z nich pracuje z jednym klientem).

Gdzie mógłbym wykorzystać semafory, potrzebuje przykładu gdzie byłyby lepsze niż np. muteks lub monitor?

Pozdrawiam,

0

Wg mnie to tak jak z użyciem pętli, jak się chce to można iterowanie talbicy zrobić do while, forem, whilem.

tak samo w tym przypadku można jeden problem rozwiązać wait, notify, synchronized. Lockami, czy też semaforami. Niektórzy nawet robią własną implementację semaforów wykorzystując monitor :P

0

Klasyczny przypadek: masz semafor n-arny który broni dostępu do jakiegoś zasobu na serwerze którego jest ograniczona ilość. Wątek zgłasza się po zasób i tym samym obniża semafor, a jak skończy to podnosi.
Oczywiście może to zrobić monitorami, ale wtedy musiałbyś sam zaimplementować sprawdzanie ilości dostępnych zasobów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1