Sobes.tech
Junior

Paralelizm nima?

sobes.tech AI

AIdan javob

Parallelizm (Parallelism) — bu bir vazifaning yoki uning qismlarining bir vaqtning o'zida bajarilishi, odatda, bir nechta protsessor yadro yoki alohida hisoblash qurilmalari yordamida amalga oshiriladi. Maqsad — dastur bajarilishining umumiy vaqtini qisqartirish.

.NET da parallelizmni amalga oshirish uchun quyidagilar ishlatiladi:

  • Task Parallel Library (TPL): yuqori darajali kutubxona, parallel operatsiyalar uchun.
  • Parallel LINQ (PLINQ): LINQ so'rovlarini parallel qilish.
  • Qatorlar bilan qo'lda ishlash (Threads): past darajali nazorat, qatorlarni yaratish va boshqarish.

TPL dan foydalanish misoli:

// Oddiy parallel sikl misoli
Parallel.For(0, 1000, i =>
{
    // har bir i uchun parallel ravishda operatsiya bajarish
    Console.WriteLine($"Iteratsiya {i} vaqti {Thread.CurrentThread.ManagedThreadId}");
    Thread.Sleep(10); // ishni taqlid qilish
});

Ko'p ipli (Concurrency) bilan asosiy farqlar:

Parametr Parallelizm (Parallelism) Ko'p ipli (Concurrency)
Maqsad Bir vaqtning o'zida bajariladigan ishlarni tezlashtirish Bir nechta vazifalarni boshqarish, ular bir vaqtning o'zida yoki emas ishlashlari mumkin
Talab qilinadi Haqiqiy parallelizm uchun bir nechta yadro (yoki qurilmalar) Bir yadroda o'tkaziladigan ko'p iplar
Diqqat Bir vazifani tezroq bajarish (uni bo'laklarga bo'lish orqali) Bir necha mustaqil vazifalarni boshqarish va muvofiqlashtirish

Parallelizm ayniqsa CPU-ga bog'liq bo'lgan vazifalar uchun samarali, ular mustaqil kichik vazifalarga bo'linishi mumkin.