22 Ekim 2014 Çarşamba

C# Lock Kullanımı

Merhaba arkadaşlar sizlere bu yazıda C# da lock kullanımını göstermeye çalışacağım öncelikle lock ne işe yarar neden kullanılır buna bir değinelim.

Lock : Multi Thread programlamada Thread'lerin senkronize bir şekilde çalışmasını sağlar.Yani bir kaynağa 1 den fazla Threadin aynı anda erişmesini engellemektir.Bir thread bir dosyaya bir şey yazarken, diğer threadin yazma işlemi bitmeden bu kaynaktan veri okumasını engellemektir. Zaten engellemesek bile 1 dosya aynı anda sadece 1 işleme cevap verebileceği icin bu noktada programımız hata vericektir.

 

Öncelikle Lock kullanmadan bir örnek yapalım

2 farklı Thread oluşturup biri dosyaya veri yazarken diğeride bu dosyadan veri okumaya çalışsın öncelikle kodlarımızı aşağıdaki gibi yazalım.

6

Şimdi ise çalıştıralım.

7

Evet programımız hata verdi okuma Threadi ile Yazma Threadi çakıştı ve hatamızı aldık peki bu durumdan dosyamızın yolunu kilitleyerek 1 den fazla Threadin dosyamıza aynı anda erişmemesini sağlayalım

8

 

Benim yazma döngüm 30 bine kadar sayıyordu  ekranda iki Threadin de sonuçlarının gözükmesi için 30 bini 10 a indirdim bilginiz olsun öncelikle :)

Evet görmüş olduğunuz gibi yazma threadim yazma işini bitirmeden okuma threadim okumaya geçemedi Lock bu gibi durumlarda çok kullanışlı bir fonksiyondur umarım yardımcı olabilmişimdir

herkese kolay gelsin.

 

 

2 yorum:

Görkem dedi ki...

Teşekkürlerr faydalı bir yazı olmuş

Umut Sun dedi ki...

Anlatım için teşekkürler elinize sağlık

JavaScript

JavaScript Nedir?    JavaScript web tabanlı bir programlama dilidir. Mayıs 1995 yılında Brendan Eich tarafından tasarlanmıştır. Kullanıcı et...