sem sarray [10] = ([10] 0);
Initsializatsiyadan soʻng semafor faqat P() va V() operatsiyalari bilan qayta ishlanishi mumkin. Ularning har biri yagona argument sifatida semafor bilan boʻlinmas harakatdir:
P(s): 0) s = s-1;>
V(s):
Operatsiya P () semaforning manfiy emasligini kafolatlaydi.
s = 1 boʻlsin. Agar ikkita oqim bir vaqtning oʻzida P(s) operatsiyasini bajarishga harakat qilsa, ulardan faqat bittasi muvaffaqiyatli boʻladi. Agar bir oqim V(s) operatsiyasini, ikkinchisi esa P (s) ni bajarishga harakat qilsa, u holda ikkala amal ham oldindan aytib boʻlmaydigan tartibda bajariladi va natijada s ning qiymati oʻzgarmaydi.
Oddiy semafor har qanday manfiy boʻlmagan butun son qiymatlarini, ikkilik semafor esa - faqat 0 va 1 qiymatlarini qabul qilishi mumkin. Shuning uchun ikkilik semafor uchun V() operatsiyasi faqat uning qiymati 0 boʻlsa bajariladi:
Do'stlaringiz bilan baham: |