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.