Ana içeriğe atla

Thread & Global Değişkenler

Global değişkenlerin Thread'lere ne yapıyor olabilir.Ya Thread Safety'ye.
Araştırmak gerekiyordu.Çünkü kullanılması gereken bir durumdu.Ve araştırmaları en basit şekilde anlatmaya çalışacağım.
Code içersindeki thread güvenliği fonksiyonel doğruluk ile çoklu thread ile gerçekleşmekte-dir.Çoklu thread’lerde girilen değerler için veri paylaşımını en iyi şekilde sağlamaktır.Ek olarak Thread Safety işletim sisteminin kendisine göre ayarladığı thread sıralamasını düzenlemek için kullanır.

Thread’leri araştırdık inceledik peki thread’lerin kullanılma sebepleri nelerdir.Yazılımcılar ne için thread kullanmaya neden gerek duymuşlardır.Bu tamamiyle işletim sisteminden kaynaklanan bir durumdur.Örnek vermek gerekirse;

İki farklı kriterde değer alan bir kod parçacığını düşünelim, ek olarak birinci kriter sağlanıyorsa sisteme girsin değilse de sisteme girmesin şeklinde de bir yapısı olsun.Bütün bunlar göz önünde tutularak.Bu kod bloğuna bir thread gönderdik, sisteme girilecek kriter ile kabul edildi ve işlemini sürdürürken sonlanmadan işletim sistemi çalışan thread’i durdurdu ve yeni bir thread daha gönderdi.Bu ise sistemde bulunmaması gereken bir durum olduğu için ikinci kriterde yer aldı.Bu durumda en sonda oluşacak sonuç birinci kritere göre şekillenmiş iken ikinci kritere göre şekillenmiş oldu.İlk giren thread işleme başladığı zaman ise sisteme girmesi gerekirken ikinci thread’in son blok satırındaki yapıyı değiştirdiği için sisteme girmek yerine sistem dışında kaldı.
Peki bunun sebebi neydi.Değişkenlerin global olarak tanınmasıydı.Eğer o kod blokları ile ilişki değişkenler try bloğu ile bu yapının içerisinde tanımlanmış olsaydı.Böyle bir sorunla karşılaşılmamış olacaktır.Sebebi ise Her thread isteğinde o kod parçacığına tek değer gönderilecek ve demin açıkladığım bir şekilde karmaşıklık yaşanmamış olacaktır.Kısaca açıklamak gerekirse;Java ile thread özelliğini kullanmak istiyorsak, elimizden geldiğince global değişkenlerden kaçıp yerel değişkenler ile işlemlerimizi bitirmeye çalışmamız, oluşturacağımız sistemin tam anlamıyla düzenli çalışabilmesi ideal durum olarak karşımıza çıkmaktadır.
Umarım bu bilgiler yararlı olmuştur.Benim başıma sorun çıkamıştı çünkü belli bir süre.Türkçe kaynak olmadığını görünce de yardım etmek istedim.
İyi günler...

Yorumlar

Bu blogdaki popüler yayınlar

Olasılıksız - Kitap Yorum

Olasılıksız hayatımda okuduğum en iyi kitaptı. Tek çırpıda hiç sıkılmadan, eğlenerek okudum bu kitabı, tavsiyem sizinde okumanız.Kitabın kapağı ve içeriği ile ilgili kısa bilgi aşağıdadır.Olasılık, tahmin, düşünceler, nöbetler, karışıklıklar, ileriyi görebilme zannı, dejavu ve tabii ki olasılıksız şeyler. Bu kelimelerle içli dışlı olabileceğiniz, bütün bu kelimelerin yaşamdaki yerini kavrayabileceğiniz müthiş bir uyarlama.Adam Fawer' ın ortaya çıkardığı bu uyarlama romanın müthiş bir çalışmanın ve araştırmanın sonucu ortaya çıktığının kitabın başından sonuna kadar farkındasınız. Bu uyarlamasını, derin araştırmalarıyla birleştirip romanı tekdüzelikten çıkarıp müthiş bir yere koyduğu için de Fawer' a müteşekkir oluveriyorsunuz. Sıkıcı diye nitelendirebileceğiniz teorik bilgileri bile bir çırpıda okuyuveriyorsunuz. Teorik bilgiler dahi olaylarla sonuna kadar bağlantılı aktarılmış. Tekdüzelikten çıkmış bir roman; olasılıksız. Her an olayın kurgusunun değişmesi olasılık dahilinde. …

.Net 3.5 SP1 – Full Install Packages (Tam Kurulum)

.Net Framework 3.5 SP1 ‘i bilgisayarınıza kurmak istediğinizde normal şartlar altında Microsoft ‘un sitesinde 2.7 mb ‘lik bir dosya indirir ve kurulum işlemlerinizi bu dosya üzerinden yaparsınız. Ancak bu indirmiş oluğunuz dosya yaklaşık 220 mb ‘lik veriyi internetten indirerek kurulum yapmaktadır. İnternet çıkışına izin verilmeyen kurumlar ve kuruluşlar için bu durum bir sıkıntı oluşturmaktadır. Bu sebepten ötürü aşağıdaki link yardımı ile tam yükleme paketini indirdikten sonra hiç internet ihtiyacınız olmadan .Net 3.5 SP1 ‘i kurabilmeniz mümkün olacaktır.Link

Çoklu Dil Desteği – Veri Tabanı Tasarım Örnekleri ile

Zaman içerisinde karşımıza çok farklı projeler gelebilmektedir. Ancak bu projeler içerisinde özellikle de global ölçekli ya da bu ölçekte uygulama geliştiren firmalarda bazı temel gereksinimler sürekli olarak karşımıza çıkabilmektedir. Bu gereksinimlerden biri ve belki de en önemlisi olan çoklu dil desteğinin veri tabanı (DB) katmanında nasıl yapıldığını kısa ve hızlıca inceliyor olacağız.Öncelikle çoklu dil desteği dediğimizde aklımıza gelen ilk çözüm yolu *.resx dosyalarını kullanmak gelmektedir. Ancak bu uzaktan yönetilen ya da anlık olarak metin değişikliği gereksinimi bulunan uygulamalarda bazı ufak problemler çıkartabilmektedir.Ne gibi problemler derseniz; iki grupta inceleyebiliriz. Web projeleri ve windows üzerinde çalışan projeler.Web projelerinde IIS üzerinde yer alan bir *.resx dosyasını değiştirdiğinizde son kullanıcı tarafında etkisi hemen görülmeyebilir. Cache mekanizmaları sebebiyle ortalama 15-30 dakika arasında bir görüntüleme süre farkı ile karşılaşabiliriz. Faha köt…