Ev gelişme Java'da atom nedir? - techopedia nedir?

Java'da atom nedir? - techopedia nedir?

İçindekiler:

Anonim

Tanımı - Atomic ne anlama geliyor?

Atomic, java.util.concurrent.atomic paket sınıflarının değişken bir araç takımıdır ve Java dili ile kilit ve bekleme algoritmaları yazmanıza yardımcı olur. Sürekli ilerleme için yalnızca kısmi dişler gerektiren bir algoritma kilitsizdir. Beklemesiz bir algoritmada, iplik arızası veya gecikmesi durumunda bile tüm dişler sürekli olarak ilerler. Kilitleme ve beklemesiz algoritmalar aynı zamanda engellemesiz algoritmalar olarak da bilinir. Bloke olmayan algoritmalar, işletim sisteminde ve Java sanal makine düzeylerinde işlem ve iş parçacığı zamanlaması için kullanılır.

Techopedia Atomik Açıklıyor

Tüm java.util.concurrent.atomic paket sınıflarının adlarında "atom" öneki vardır. Java.util.concurrent.atomic paketinde aşağıdakiler de dahil olmak üzere farklı türde atomik değişkenler vardır:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
Java dilinde senkronizasyon, paylaşılan iş parçacığı alanlarına erişimi koordine eder ve yalnızca kilitleri olan iş parçacıklarının kilit tarafından korunan değişkenlere erişmesine ve bunları değiştirmesine izin verir. Bu iş parçacığının değişiklikleri aşağıdaki iş parçacığında görülebilir, ancak yalnızca iş parçacığı kilidi serbest bıraktıktan sonra.

Örnek olarak A iş parçacığının bir kilit tuttuğu bir senaryodur. A sadece bu kilitle korunan değişkenlere erişebilir ve değişiklikler yapabilir. B iş parçacığı A'dan sonra bu kilidi tutarsa, yalnızca A, söz konusu kilit tarafından korunan değişkenlerdeki A değişikliklerini görebilir. Kilitlemenin ana sorunu, B A tarafından tutulan bir kilit almaya çalıştığında ortaya çıkar. Bu durumda, B kilit kullanılabilir olana kadar beklemesi engellenir. Bloke olmayan algoritmalar bu sorunu çözer.


Atomik sınıflar inşa etmenin arkasındaki temel amaç, engellemeyen veri yapılarını ve ilgili altyapı sınıflarını uygulamaktır. Atom sınıfları java.lang.Integer ve ilgili sınıfların yerine geçmez. Çoğu java.util.concurrent paket sınıfı, doğrudan veya dolaylı olarak senkronizasyon yerine atomik değişkenler kullanır. Atomik değişkenler de daha yüksek verim elde etmek için kullanılır, bu da daha yüksek uygulama sunucusu performansı anlamına gelir.

Bu tanım Java bağlamında yazılmıştır
Java'da atom nedir? - techopedia nedir?