Pochta qutilari
Ta'rif. Pochta qutilari FIFO navbati sifatida tuzilgan vazifalar o'rtasida ma'lumot almashish ob'ekti hisoblanadi. Har bir pochta qutisi quyidagilar bilan bog'langan:
xabarlar navbati (pochta qutisi tarkibini shakllantirish),
pochta qutisidagi xabarlarni kutayotgan vazifalar navbati,
pochta qutisida joy bo'shatishni kutayotgan vazifalar navbati,
bir nechta vazifalarning pochta qutisidagi bir xil xabarlarga to'g'ri kirishini ta'minlaydigan o'zaro istisno mexanizmi.
Pochta qutisidagi xabarni kutayotgan vazifalar soni odatda cheksizdir. Pochta qutisidagi xabarlar soni odatda pochta qutisi yaratilganda ko'rsatilgan parametr bilan cheklanadi. Buning sababi shundaki, har bir xabarning o'lchami pochta qutisi yaratilganda belgilanadi va muhim bo'lishi mumkin. Agar pochta qutisi to'lgan bo'lsa va topshiriq unga yangi xabar qo'yishga harakat qilsa, u pochta qutisida bo'sh joy qolmaguncha bloklanadi. Pochta qutilarida quyidagi elementar operatsiyalar aniqlanadi
pochta qutisiga xabar qo'ying, shu bilan birga ushbu operatsiyani chaqirgan vazifa bloklanishi va pochta qutisida bo'sh joy bo'lmasa, pochta qutisida bo'sh joy kutayotgan vazifalar qatoriga qo'yilishi mumkin (faollashtirish birinchi xabarni olgandan so'ng darhol sodir bo'ladi). xabarlar navbatdan); agar xabarni kutayotgan vazifalar navbati bo'sh bo'lmasa, bu navbatdagi barcha vazifalar faollashtiriladi;
pochta qutisiga xabar qo'yishga harakat qiling - agar pochta qutisida bo'sh joy bo'lsa, unda bu operatsiya uni qo'yishga teng, aks holda bo'sh joy etishmasligi belgisini qaytaring;
boshida qo'yish - qo'yish bilan bir xil, faqat xabar navbatning boshiga qo'yiladi;
boshida qo'yishga harakat qiling - xuddi qo'yishga harakat qiling, faqat xabar navbatning boshiga joylashtiriladi;
pochta qutisidan xabar olish, bu operatsiyani chaqirgan vazifa bloklanishi va pochta qutisida xabarlar bo'lmasa, xabarni kutayotgan vazifalar qatoriga qo'yilishi mumkin; xabar kelganda, u faollashadi; shu bilan birga, agar xabarni kutayotgan topshiriqlar qatorida bir nechta vazifa mavjud bo'lsa, u holda qabul qilish operatsiyasini bajarish jarayonida (ya'ni, bu operatsiya bitta tomonidan bajarilayotganda) vazifalarni o'zaro istisno qilish mexanizmi ta'minlanadi. vazifa, xuddi shu operatsiyani talab qilgan barcha boshqa vazifalar bloklanadi);
pochta qutisidan xabar olishga harakat qiling - agar pochta qutisida xabarlar bo'lsa, unda bu operatsiya qabul qilishga teng, aks holda xabarlar yo'qligi belgisini qaytaring;
pochta qutisini tozalash - barcha xabarlarni navbatdan olib tashlash.
Aslida, tavsiflangan mexanizm mijoz-serverning o'zaro ta'siri bo'lib, mijoz vazifalari so'rovlarni pochta qutisiga joylashtirganda va server vazifalari ularni o'sha erdan oladi.
Do'stlaringiz bilan baham: |