Junior
Paralellik nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Paralelizm (Parallelism), bir görevin veya bir görevin parçalarının aynı anda, genellikle birden fazla işlemci çekirdeği veya ayrı hesaplama cihazları kullanılarak gerçekleştirilmesidir. Amaç, programın toplam çalışma süresini azaltmaktır.
.NET'te paralelizmayı gerçekleştirmek için kullanılır:
- Task Parallel Library (TPL): Yüksek seviyeli paralel işlem kütüphanesi.
- Parallel LINQ (PLINQ): LINQ sorgularının paralelleştirilmesi.
- İşlemleri manuel olarak yönetmek (Threads): Düşük seviyeli thread oluşturma ve yönetim kontrolü.
TPL kullanımı örneği:
// Basit bir paralel döngü örneği
Parallel.For(0, 1000, i =>
{
// Her i için paralel bir işlem gerçekleştir
Console.WriteLine($"İterasyon {i} ve thread {Thread.CurrentThread.ManagedThreadId}");
Thread.Sleep(10); // İşleme simülasyonu
});
Çok iş parçacıklılığı (Concurrency) ile temel farklar:
| Parametre | Paralelizm (Parallelism) | Çok iş parçacıklılığı (Concurrency) |
|---|---|---|
| Hedef | Aynı anda çalışan işleri hızlandırmak | Birden fazla görevi yönetmek, bunlar aynı anda (veya değil) çalışabilir |
| Gerektir | Gerçek paralellik için çok çekirdek (veya cihazlar) gereklidir | Bir çekirdekte geçiş yapabilen çok sayıda iş parçacığı |
| Odak | Bir görevi daha hızlı yürütmek (bölerek) | Birden fazla bağımsız görevi yönetmek ve koordine etmek |
Paralelizm, yüksek hesaplama yüküne sahip (CPU-bound) görevler için özellikle etkilidir ve bağımsız alt görevlere bölünebilir.