G‘afarov, A. F. Galimyanov parallel hisobiyotlar qo'llanma Qozon
Download 1.46 Mb.
|
ParVychGafGal (1)
- Bu sahifa navigatsiya:
- Parallel.Invoke-ga
- Ichki va bolalar vazifalari.
- Qaytish qiymatlari bolgan vazifalar.
- Start() usulini
Parallel.Invoke usuli bilvosita vazifalar to'plamini yaratishga imkon beradi , parallel ravishda ishga tushirilishi mumkin. Sizga ko'proq nazorat kerak bo'lganda
parallel vazifalar uchun siz Task sinfidan foydalanishingiz mumkin. Bu aniq ko'rsatishga imkon beradi parallel vazifalarni yaratish. Aniq vazifa yaratish uchun zarur bo'lgan kod Parallel.Invoke-ga qaraganda biroz murakkabroq , ammo foydalari ko'proq bu kamchilik. Task klassi bir xil funktsiyalarni bajarishi mumkin Parallel chaqirish. Bundan tashqari, quyidagi turdagi vazifalar yaratilishi mumkin: ÿ Davom etish vazifalari. Bu vazifa turi faqat keyin ishlash uchun tuzilgan boshqa vazifa yoki vazifalar guruhini bajarish. Ular xavfsiz tarzda mumkin oldingi vazifalar tomonidan yaratilgan ma'lumotlardan foydalaning. 81
ÿ Ichki va bolalar vazifalari. Ichki vazifalar shunchaki vazifalardir boshqa vazifaning bir qismi sifatida yaratilgan, ammo qoladi mustaqil. Bolalarning vazifalari yaratilgan vazifalarga o'xshaydi ota-ona vazifasi. Biroq, ular o'sha ota-ona bilan yaqinroq bog'liq. ÿ Qaytish qiymatlari bo'lgan vazifalar. Aniq topshiriqlardan foydalanganda vazifa parallel ravishda bajarilishi va qaytishi mumkin vazifa bajarilgandan keyin ishlatilishi mumkin bo'lgan qiymat. Vazifa sinfi Harakat vakili uchun o'ramni taqdim etadi . Oddiy vazifani yaratish usuli - konstruktor bilan foydalanish siz istagan delegatni oladigan yagona parametr bajarmoq. Ko'p hollarda bu delegat lambda sifatida aniqlanadi ifoda. Vazifalar yaratilgandan so'ng darhol bajarilmaydi. Uni boshlash uchun vazifa uchun siz uning Start() usulini chaqirishingiz kerak . Quyidagi kod qadamlarni taqlid qiladi, boshqaruv ilovasi ishga tushirilganda bajarilishi mumkin mijozlar bilan munosabatlarni boshqarish (CRM). Dastlab ko'rsatilgan ilova ishga tushayotganligini bildiruvchi xabar. Keyin ikkita vazifa. Birinchisi ma'lumotlar bazasidan foydalanuvchi ma'lumotlarini yuklashni simulyatsiya qiladi ma'lumotlar. Ikkinchisi mijozlar ma'lumotlarini olishni simulyatsiya qiladi. Vazifalar bajariladi Buni bildiruvchi xabar paydo bo'lguncha Start() usuliga ikkita qo'ng'iroq CRM ilovasi yuklandi. Console.WriteLine("CRM ilovasi ishga tushmoqda"); loadUserDataTask vazifasi = yangi Task(() => { Console.WriteLine("Foydalanuvchi ma'lumotlarini yuklash"); Thread.Sleep (2000); }); Console.WriteLine("Foydalanuvchi ma'lumotlari yuklangan"); Task loadCustomerDataTask = new Task(() => { 82
Machine Translated by Google }); Console.WriteLine("Mijoz ma'lumotlari yuklanmoqda"); Thread.Sleep (2000); Console.WriteLine("Mijoz ma'lumotlari yuklangan"); loadUserDataTask.Start(); loadCustomerDataTask.Start(); Console.WriteLine("CRM ilovasi yuklangan"); Console.ReadLine(); loadUserDataTask.Dispose(); loadCustomerDataTask.Dispose(); Yuqoridagi kod ikkala parallel uchun umumiy naqshni ko'rsatadi, va ko'p tarmoqli ilovalar uchun. Kod ipda ishlaydi kirishni bloklashi mumkin bo'lgan foydalanuvchi interfeysi (UI). foydalanuvchi va dastur to'xtagandek taassurot qoldiradi javob bering. Alohida mavzularda ma'lumotlarni qidirish vazifalarini bajarish orqali biz ma'lumot paydo bo'lishidan oldin dastur tezroq reaksiyaga kirishsin qabul qildi. Chiqish ilova yuklanayotganini va tayyor ekanligini ko'rsatadi ma'lumotlarga kirish fonda davom etayotganda foydalanish rejimi. Download 1.46 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling