C# Thread-safe Veri Yapıları ve Kilit Mekanizmaları Kullanımı
C# Thread-safe Veri Yapıları ve Kilit Mekanizmaları
C# programlarında paralel işlemler arasında güvenli veri erişimi sağlamak için thread-safe veri yapıları ve kilit mekanizmaları kullanılır. Bu yapılar, aynı anda birden fazla iş parçacığı tarafından erişilen verilerin bütünlüğünü korumak için tasarlanmıştır.
Örnek: ConcurrentDictionary Kullanımı
ConcurrentDictionary, C# programlarında thread-safe bir sözlük yapısı sağlar. Birden fazla iş parçacığı tarafından aynı anda erişilebilir ve değiştirilebilir. İşte bir örnek:
Bu örnekte, ConcurrentDictionary sınıfı kullanılarak bir sözlük oluşturulur ve birden fazla iş parçacığı tarafından eş zamanlı olarak erişilebilir. TryAdd ve TryRemove yöntemleri, sözlüğe öğe eklemek ve silmek için kullanılır. Döngü kullanılarak, sözlük üzerindeki tüm öğeler yazdırılır.
Örnek: Monitor Kullanımı
Monitor sınıfı, C# programlarında tek bir iş parçacığı tarafından kullanılabilen kaynaklara erişimi kontrol etmek için kullanılır. İşte bir örnek:
Bu örnekte, iki farklı iş parçacığı tarafından aynı anda erişilen count değişkeninin değeri artırılmak istenir. Ancak lock anahtar kelimesi ve bir kilit nesnesi (lockObject) kullanılarak, aynı anda sadece bir iş parçacığının count değişkenine erişmesi sağlanır. Bu sayede veri bütünlüğü korunur ve hatalı davranışlar önlenir.
Hiç yorum yok:
Yorum Gönder