Czy semafor może być mniejszy od 0? Mam na myśli, powiedzmy, że mam semafor z N = 3 i dzwonię "w dół" 4 razy, a N pozostanie 0, ale jeden proces zostanie zablokowany?Jak działa semafor?
I tak samo, jeśli na początku dzwonię, czy N może być wyższa niż 3? Ponieważ, jak widzę, jeśli N może być wyższy niż 3, jeśli na początku wywołuję kilka razy, to później mógłbym wywołać więcej razy niż ja, w ten sposób umieszczając więcej procesów w sekcji krytycznej, a następnie semafor pozwala mi .
Jeśli ktoś by mi to wyjaśnił, z pewnością to doceniam.
Greg
Zobacz także http://stackoverflow.com/questions/184147/countdownlatch-vs-semaphore – finnw