Witam,
Mam oto takie zadanie z "reala":
![](http://oi41.tinypic.com/vzd9xg.jpg)
Bezapelacyjnie odnosi się ono do synchronizacji wątków, ale nie wiem jak to zrobić. Bo przecież nie napiszę, że na kobietę w ciąży nakładamy semafora lub mutexa, chyba wiecie co mam na myśli
![Smiley :)](http://forum.linux.pl/Smileys/default/smiley.gif)
Jedna sensowna (chyba) odpowiedź jaka wpadła mi do głowy to... obsługujemy klienta z większym priorytetem do momentu gdy druga kolejka klientów zwykłych z niższym priorytetem nie dojdzie do drzwi sklepu. Gdy druga kolejka dojdzie do drzwi sklepu to tymczasowo blokujemy kolejkę z wyższym priorytetem i obsługujemy WSZYSTKICH z drugiej kolejki aby nie doprowadzić do czekania klientów w nieskończoność z powodu kobiet w ciąży - zagłodzenia.
Czy takie rozwiązanie jest poprawne ? Czy należy to jakoś lepiej napisać ?
Jeżeli jest OK to jak można w systemie zaprogramować taką sytuację, że gdy w kolejce z niższym priorytetem jest N procesów/wątków to pomiń procesy/wątki z wysokim priorytetem i obsłuż te z drugiej kolejki ? Dotychczas korzystałem tylko z semaforów / mutex / zmienne warunkowe, a takie coś to co to ?
Proszę o pomoc, pozdrawiam
![Smiley :)](http://forum.linux.pl/Smileys/default/smiley.gif)