Sobes.tech
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.