wait() va signal(). wait() amali jarayon zahiraga murojaat qilishni hohasa chaqiriladi. Bu tashrif buyuruvchining bo’sh stolga o’tirishga urinishiga ekvivalent. Agar bo’sh o’rin bo’lmasa, yoki semafor noldan katta bo’lsa, u holda tashrif buyuruvchi zahirani band qilishi (o’tirishi) mumkin. Agar bo’sh o’rindiq bo’lmasa, unda semaforning qiymati nol bo’ladi va jarayon semaforning qiymati noldan katta bo’lishini kutadi. signal() amali jarayon zahiradan foydalanib bo’linganidan so’ng chaqiriladi. Quyidagi sxema semaforni sanash uchun qo’llaniladi:
Tarixan, wait() amali P (nemis tilidan “Proberen” – urinib ko’rish) deb nomlangan, signal() esa V (nemis tilidan “Verhogen” – oshirish) deb belgilangan.
Kamchiliklari:
1. bandlikda kutish – semafor jarayonida davomli sikl;
2. spinlock - bandlikda kurish amalga oshirilganda markaziy prosessorni (CPU) band qiladi.
Semaphore (ing. Semaphore) - bu hisoblagichga asoslanib, ikkita atom operatsiyasi bajarilishi mumkin bo'lgan jarayonlar va oqimlarning sinxronlashuvi: qiymatni bittaga oshirish va kamaytirish, shu bilan hisoblagichning nol qiymatiga pasayish jarayonga taqiq qo`yiladi. U yanada murakkab sinxronizatsiya mexanizmlarini yaratish uchun ishlatiladi va parallel vazifalarni sinxronlashtirishda, umumiy xotira orqali ma'lumotlarni uzatishda, tanqidiy bo'limlarni himoya qilishda, shuningdek uskunaga kirishni boshqarish uchun fo`ydalaniladi.