G‘afarov, A. F. Galimyanov parallel hisobiyotlar qo'llanma Qozon


Download 1.46 Mb.
bet49/85
Sana24.12.2022
Hajmi1.46 Mb.
#1062519
1   ...   45   46   47   48   49   50   51   52   ...   85
Bog'liq
ParVychGafGal (1)

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
Machine Translated by Google


ÿ 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:
1   ...   45   46   47   48   49   50   51   52   ...   85




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling