ThreadLocal'ın kullanımı nedir?
ThreadLocal'ın kullanımı nedir?

Video: ThreadLocal'ın kullanımı nedir?

Video: ThreadLocal'ın kullanımı nedir?
Video: Java ThreadLocal 2024, Kasım
Anonim

Java ThreadLocal, iş parçacığı yerel değişkenleri oluşturmak için kullanılır. Bir Object'in tüm iş parçacıklarının kendi değişkenlerini paylaştığını biliyoruz, bu nedenle değişken iş parçacığı için güvenli değil. İş parçacığı güvenliği için senkronizasyonu kullanabiliriz ancak senkronizasyondan kaçınmak istiyorsak ThreadLocal değişkenlerini kullanabiliriz.

Aynen öyle, ThreadLocal sınıfı ne için kullanılır?

Java ThreadYerel sınıf sağlar iş parçacığı yerel değişkenler. Yalnızca aynı iş parçacığı tarafından okunabilen ve yazılabilen değişkenler oluşturmanıza olanak tanır. İki iş parçacığı aynı kodu yürütüyorsa ve bu kodun bir KonuYerel değişkense, iki iş parçacığı birbirinin yerel değişkenini göremez.

Ayrıca, ThreadLocal neden statik ve nihaidir? Gördüğümüz gibi, statik örneği KonuYerel sadece arama tuşu olarak kullanılır. Bildirildiği için değeri değiştirilemez son . NS KonuYerel örnek tamamen iş parçacığı için güvenlidir, çünkü gerçekten salt okunurdur, bu nedenle senkronizasyon gerekli değildir. Potansiyel olarak iş parçacığı için güvenli olmayan şey hedef Nesnedir.

Benzer şekilde, ThreadLocal Java'da nasıl çalışır diye sorabilirsiniz.

NS Java ThreadYerel class, yalnızca aynı iş parçacığı tarafından okunabilen ve yazılabilen değişkenler oluşturmanıza olanak tanır. Bu nedenle, iki iş parçacığı aynı kodu çalıştırıyor olsa ve kodun aynı referansa sahip olması durumunda bile KonuYerel değişken, iki iş parçacığı birbirini göremez KonuYerel değişkenler.

ThreadLocal neden statik?

Kısacası, KonuYerel nesne, bir anahtar-değer haritası gibi çalışır. statik son KonuYerel değişkenler iş parçacığı için güvenlidir. statik Yapar KonuYerel değişken, yalnızca ilgili iş parçacığı için birden çok sınıfta kullanılabilir. bu, ilgili alanın bir tür Global değişken dekarasyonudur. iş parçacığı yerel birden fazla sınıftaki değişkenler.

Önerilen: