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.

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

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

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:
Teşekkürlerr faydalı bir yazı olmuş
Anlatım için teşekkürler elinize sağlık
Yorum Gönder