Kampyuter ilimlari va dasturlash texnologiyalari” kafedrasi


Download 0.51 Mb.
bet1/3
Sana15.03.2023
Hajmi0.51 Mb.
#1269138
  1   2   3
Bog'liq
....Algoritm mustaqil ish №4





O‘ZBEKISTON RESPUBLIKASI OLIY VA O‘RTA MAXSUS
TA’LIM VAZIRLIGI


MIRZO ULUG‘BEK NOMIDAGI O‘ZBEKISTON MILLIY UNIVERSITETI
JIZZAX FILIALI
AMALIY MATEMATIKA” FAKULTETI

KAMPYUTER ILIMLARI VA DASTURLASH TEXNOLOGIYALARI” KAFEDRASI


ALGORITMIK TILLAR VA DASTURLASH ” FANIDAN



MUSTAQIL ISH
4

MAVZ: Parallel va asinxron dasturlash usullari

Topshirdi: 2_21 -guruh talabasi QO’CHQAROV.H
Qabul qildi: TOJIYEV.M
Jizzax 2022
Mavzu:Parallel va asinxron dasturlash usullari
Reja:
1.Parallel dasturlash usullari.
2.Asinxron dasturlash usullari.
Parallel klassi ham TPLning bir qismidir va kodni parallel ravishda ishlatishni osonlashtirish uchun mo'ljallangan. Parallel vazifani parallel qilish imkonini beruvchi bir qator usullarga ega.Vazifalarni parallel ravishda bajarishga imkon beruvchi usullardan biri bu Invoke usulidir:
metod Parallel.Invoke
Parallel.Invoke(
Print,
() =>
{
Console.WriteLine($"Выполняется задача {Task.CurrentId}");
Thread.Sleep(3000);
},
() => Square(5)
);
void Print()
{
Console.WriteLine($"Выполняется задача {Task.CurrentId}");
Thread.Sleep(3000);
}
// вычисляем квадрат числа
void Square(int n)
{
Console.WriteLine($"Выполняется задача {Task.CurrentId}");
Thread.Sleep(3000);
Console.WriteLine($"Результат {n * n}");
}
Parallel.Invoke usuli parametr sifatida Action ob'ektlari massivini oladi, ya'ni biz bu metodga bajarilganda chaqiriladigan usullar to'plamini o'tkazishimiz mumkin. Usullar soni har xil bo'lishi mumkin, ammo bu holda biz uchta usulning bajarilishini aniqlaymiz. Shunga qaramay, Task sinfidagi kabi, biz usul nomini yoki lambda ifodasini o'tkazishimiz mumkin.
Asinxron dasturlash – bu asosiy dastur jarayonini bloklamagan holda, bajarilayotgan vazifalarni alohida bloklarga olish imkonini beradi. Dastur ishlashi foydalanuvchi so’rovlarini qayta ishlash, ma’lumotlar bazalariga va tarmoq resurlariga kirish kabi nisbatan ko’proq vaqt talab etiladigan vazifalardan iborat bo’lganda, asosiy oqimni bloklab qo’ymaslik uchun asinxron usullardan foydalaniladi.
Masalan, hajm va matn jihatdan nisbatan kattaroq fayldan ma’lumotlarni o’qish dasturini qaraymiz:
Sinxron usul:
private string ReadFile(string file)
{
string content = string.Empty;
using (StreamReader reader = new StreamReader(file))
{
content = reader.ReadToEnd();
}
return content;
}
Bunda

Download 0.51 Mb.

Do'stlaringiz bilan baham:
  1   2   3




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