so'rasa va semaforning joriy qiymati 0 bo'lsa, ular xona bo'shatilguncha
kutishga majbur bo'ladi (hisob 0dan oshganda). Agar xonalardan biri qo'yib
yuborilgan bo'lsa -da, lekin bir nechta talaba kutayotgan bo'lsa, u holda
xonani egallaydiganni tanlash uchun har qanday usuldan foydalanish
mumkin (masalan, FIFO yoki tanga aylantirish). Va, albatta, talaba o'z
xonasini bo'shatib yuborgani haqida yozuvchiga xabar berishi kerak, aks
holda bunday talaba xonadan chiqib ketayotganda
noqulay vaziyat yuzaga
kelishi mumkin (ular darsliklarini yig'ishtirmoqda va hokazo). va boshqa
talaba xonadan chiqib ketishidan oldin kiradi.
Resurslar havzasiga kirishni boshqarish uchun foydalanilganda, semafor
qancha resurslar bo'sh ekanligini kuzatadi; u qaysi manbalar
tekin ekanligini
kuzatmaydi. Muayyan erkin resursni tanlash uchun boshqa mexanizm
(ehtimol ko'proq semaforlarni o'z ichiga olishi mumkin) talab qilinishi
mumkin.
Paradigma
ayniqsa kuchli, chunki semaforlar soni turli xil harakatlar uchun
foydali tetik bo'lishi mumkin. Yuqoridagi kutubxonachi, o'quvchilar
qolmaganida, o'quv zalining chiroqlarini o'chirib qo'yishi yoki ko'p xonalar
band bo'lganda xonalar juda bandligini ko'rsatuvchi belgi qo'yishi mumkin.
Protokolning muvaffaqiyatli bo'lishi uchun ilovalar uni to'g'ri bajarilishini
talab qiladi. Hatto bitta jarayon ham noto'g'ri bajarilsa, adolat va xavfsizlik
buzilishi mumkin (bu dastur
sekin harakat qilishi, tartibsiz ishlashi, osib
qo'yilishi yoki ishdan chiqishi mumkin). Bunga quyidagilar kiradi:
*manbani so'rash va uni chiqarishni unutish;
*hech qachon so'ralmagan resursni chiqarish;
*resursni keraksiz uzoq vaqt ushlab turish;
*resursni avval talab qilmasdan ishlatish (yoki uni chiqargandan keyin).
Agar barcha jarayonlar ushbu qoidalarga
amal qilsa ham, har xil semaforlar
tomonidan boshqariladigan turli xil manbalar mavjud bo'lganda va
jarayonlar bir vaqtning o'zida bir nechta resurslardan foydalanishi kerak
bo'lganda, ko'p manbali tiqilib qolishi mumkin.