C# Lock Anahtar Kelimesi Kullanımı
C# Lock Anahtar Kelimesi
C# Lock Anahtar Kelimesi Nedir?
C# programlama dilinde lock anahtar kelimesi, bir kod bloğunu eş zamanlı erişime karşı korumak için kullanılan bir yapıdır. Bu yapı, aynı anda birden fazla iş parçacığının (thread) aynı kaynağa erişmesini engelleyerek senkronizasyon sağlar.
C# Lock Anahtar Kelimesi Neden Kullanılır?
C# dilinde birden fazla iş parçacığıyla çalışırken, paylaşılan bir kaynağa (örneğin, bir değişkene veya bir dosyaya) aynı anda erişmeye çalışmak istendiğinde, veri bütünlüğü sorunları ortaya çıkabilir. Bu sorunları önlemek için lock anahtar kelimesi kullanılır. Lock, belirli bir kaynağa erişimi bir iş parçacığına özgü olarak kilitleyerek, diğer iş parçacıklarının bu kaynağa erişmesini engeller.
C# Lock Anahtar Kelimesi Nerelerde Kullanılır?
Lock anahtar kelimesi, genellikle paylaşılan kaynaklara eş zamanlı erişimi kontrol etmek amacıyla kullanılır. Örneğin, çoklu iş parçacıklı bir uygulamada bir değişkenin değerini güncellemek veya bir dosyaya yazmak gibi işlemlerde lock kullanılabilir.
C# Lock Anahtar Kelimesi Örnek
Bu kod örneği, C# dilinde birden fazla iş parçacığı (thread) tarafından paylaşılan bir değişkenin güvenli bir şekilde güncellenmesini sağlamak için lock anahtar kelimesini kullanmaktadır.
lock (_lock) ifadesi, belirli bir kod bloğunu, burada _lock adlı bir nesneyle kilitleyerek, aynı anda yalnızca bir iş parçacığının bu kod bloğuna erişmesini sağlar. Dolayısıyla, bu blok içindeki kodların aynı anda birden fazla iş parçacığı tarafından çalıştırılması engellenir.
İçerideki _counter++ ifadesi, _counter değişkeninin bir artırılmasını sağlar. Ancak bu işlem, lock bloğu içinde olduğu için yalnızca bir iş parçacığı tarafından gerçekleştirilir. Böylece, aynı anda birden fazla iş parçacığının _counter değişkenine erişip değerini artırmasının önüne geçilir.
Son olarak, Console.WriteLine("Counter: " + _counter); ifadesi, güncellenen _counter değişkeninin değerini konsola yazdırır. Bu sayede, her artış işleminden sonra _counter değişkeninin güncel değerini izleyebiliriz.
Yani, lock anahtar kelimesi kullanılarak sağlanan senkronizasyon, çoklu iş parçacıklı ortamlarda veri bütünlüğünü koruyarak hatalı sonuçlar almamızı engeller.
Hiç yorum yok:
Yorum Gönder