Axborot texnologiyalari asrida dasturiy ta’minot o’rni beqiyos. Kundalik davomida foydalanadigan texnologiyalarimiz: kompyuter, planshet, uyalitelefon (smartfon) va h k. lar dasturiy ta’minot asosida ishlaydi



Download 30,73 Kb.
bet4/4
Sana28.09.2021
Hajmi30,73 Kb.
#187842
1   2   3   4
Bog'liq
Kirish

II BOB. AMALIY QISM


Odatiy bo'lib, LINQ-dagi to'plamning barcha elementlari ketma-ketlikda qayta ishlanadi, lekin .NET 4.0 dan boshlab, PLINQ (Parallel LINQ) funksiyasini o'z ichiga olgan va to'plamga parallel ravishda kirish imkonini beruvchi System.Linq nom maydoniga ParallelEnumerable sinfi qo'shildi.

To'plamni qayta ishlashda PLINQ tizimdagi barcha protsessorlarning imkoniyatlaridan foydalanadi. Ma'lumotlar manbai segmentlarga bo'linadi va har bir segment alohida yo'nalishda qayta ishlanadi. Bu so'rovni ko'p yadroli mashinalarda ancha tezroq bajarishga imkon beradi.

Shu bilan birga, PLINQ sukut bo'yicha ketma-ket ma'lumotlarni qayta ishlashni tanlaydi. Parallel ishlov berishga o'tish tezroq ishlashga olib keladigan taqdirda amalga oshiriladi. Biroq, qoida tariqasida, parallel operatsiyalar bilan qo'shimcha xarajatlar ko'payadi. Shuning uchun, agar parallel ishlov berish potentsial resurslarni talab qiladigan bo'lsa, unda PLINK katta resurslarni talab qilmasa, ketma-ket ishlashni tanlashi mumkin.

Shuning uchun, PLINQ-ni asosan katta kollektsiyalarda yoki murakkab operatsiyalarda ishlatish mantiqan to'g'ri keladi, bu erda so'rovlarni parallellashtirishdan olingan haqiqiy foyda xarajatlarni qoplashi mumkin.

Ushbu misol PLINQ-dan 1 dan 10000 gacha bo'lgan juft sonlarni hisoblashda qanday ishlatilishini ko'rsatadi. Bir nechta iplardan foydalangan holda 10000. E'tibor bering, natijada ro'yxat buyurtma qilinmaydi!

var ketma-ketligi = Enumable.Range (1, 10000);

var evenNumbers = ketma-ketlik.AsParallel ()

. (Qayerda (x => x% 2 == 0)

.To‘plam ();

// evenNumbers = {4, 26, 28, 30, ...}

// Buyurtma har xil versiyalarda o'zgaradi

DegreeOfParallelism bilan

Parallellik darajasi - bajariladigan vazifalarning maksimal bajarilish soni

so'rovni qayta ishlash uchun ishlatiladi.

var ketma-ketligi = Enumable.Range (1, 10000);

var evenNumbers = ketma-ketlik.AsParallel ()

Paralellik darajasi bilan. (4)

.Qaerda (x => x% 2 == 0);

AsOrdered

Ushbu misol PLINQ-dan 1 dan 1 gacha bo'lgan juft sonlarni hisoblashda qanday ishlatilishini ko'rsatadi

Bir nechta iplardan foydalangan holda 10000. Olingan ro'yxatda buyurtma saqlanadi, ammo yodda tuting

AsOrdered ko'plab elementlarning ishlashiga zarar etkazishi mumkin, shuning uchun buyurtma qilinmagan ishlov berish

iloji bo'lsa afzal ko'riladi.

var ketma-ketligi = Enumable.Range (1, 10000);

var evenNumbers = ketma-ketlik

.Ordered ()

. (Qayerda (x => x% 2 == 0)

.To‘plam ();

// evenNumbers = {2, 4, 6, 8, ..., 10000}

AsUnordered

Buyurtma qilingan ketma-ketliklar ko'p sonli elementlar bilan ishlashda ishlashga zarar etkazishi mumkin. Kimga

buni yumshatish uchun ketma-ket buyurtma kerak bo'lmaganda AsUnordered-ga qo'ng'iroq qilish mumkin.

var ketma-ketligi = Sanab bo'lmaydigan.Range (1, 10000) .Telefin (x => -1 * x); // -1, -2, ...

var evenNumbers = ketma-ketlik

.OrderBy (x => x)

.Tashlang (5000)

.AsUnordered ()

. (X => x% 2 == 0) // bu satr buyurtma orqali ta'sirlanmaydi

.To‘plam ();

static void Main(string[] args)

{

int[] numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, };



var factorials = from n in numbers.AsParallel()

select Factorial(n);

foreach (var n in factorials)

Console.WriteLine(n);

Console.ReadLine();

}

static int Factorial(int x)



{

int result = 1;

for (int i = 1; i <= x; i++)

{

result *= i;



}

Console.WriteLine($"Факториал числа {x} равен {result}");



return result; }


Xulosa


Xulosa qilib shuni aytish mumkinki bu masalalarda Linq dasturlash tili bilan bog’liq vaziyatlarda obektiv yondashiladi. Shu boisdan yuqori tillardan farqi juda kattaligi bilan ajralib turadi. Shuning uchun har qaysi dasturlash tilida o’zining metodi bo’ladi. Mustaqil ishim davomida
Download 30,73 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish