umumiy
EventWaitHandle klassi, ular o'zlarining
barchasini oladilar
funksionallik. AutoResetEvent chipta turniketiga o'xshaydi: insert
Chipta aynan bir kishiga o'tishga imkon beradi. Sinf nomidagi "Avto"
ochiq turniketning avtomatik ravishda yopilishiga ishora qiladi
yoki kimdir u orqali o'tib ketganidan keyin "tushgan". Siz .. qila olasiz; siz ... mumkin
AutoResetEvent obyektini ikki usulda yarating .
Birinchisi, unga qo'ng'iroq qilish
konstruktor:
var auto = new AutoResetEvent (false);
AutoResetEvent yaratishning ikkinchi usuli :
var auto = new EventWaitHandle (false, EventResetMode.AutoReset);
Voqealardan foydalanish juda oson. ManualResetEvent turidagi hodisa uchun
ariza berish tartibi quyidagicha. Qandaydir voqea kutilayotgan mavzu
berilganni ifodalovchi hodisa obyektida WaitOne() usulini chaqiradi voqea. Agar hodisa ob'ekti signalli holatda bo'lsa, u holda
WaitOne() usuli darhol qaytadi . Aks holda
gacha chaqiruvchi ipning bajarilishi to'xtatiladi
voqea haqida bildirishnoma qabul qilindi. Voqea boshqasida sodir bo'lishi bilanoq
ish zarracha, bu ip voqea ob'ektini signallangan holatga o'rnatadi,
Set() usulini chaqirish orqali . Voqea ob'ektini signalga o'rnatgandan so'ng
davlat WaitOne() usulidan darhol qaytadi va birinchi
ip o'z bajarilishini davom ettiradi. Va Reset() usulini chaqirish natijasida
hodisa ob'ekti signalsiz holatga qaytadi.
Do'stlaringiz bilan baham: