Giriş
Java'da Atomic kelimesi ile başlayan şu sınıflar var. AtomicBoolean,AtomicInteger, AtomicLong. Bu sınıflar ortak bir arayüz veya ata sınıftan kalıtmıyorlar.
AtomicBoolean
Java'da Atomic kelimesi ile başlayan şu sınıflar var. AtomicBoolean,AtomicInteger, AtomicLong. Bu sınıflar ortak bir arayüz veya ata sınıftan kalıtmıyorlar.
AtomicBoolean
AtomicBoolean Sınıfı yazısına taşıdım.
AtomicReference
AtomicReference Sınıfı yazısına taşıdım.
AtomicReferenceArray
AtomicReferenceArray Sınıfı yazısına taşıdım.
Genel Metodlar
getAndIncrement ve incrementAndGet
getAndIncrement ve incrementAndGet isimli iki metod sunar. Farkları şöyle. getAndIncrement ilk değeri döndürür ve değişkeni artırır. incrementAndGet değişkeni artırır sonra değeri döndürür. Yani aslında
getAndIncrement = i++
incrementAndGet = ++i
gibi düşünülebilir.
AtomicReference
AtomicReference Sınıfı yazısına taşıdım.
AtomicReferenceArray
AtomicReferenceArray Sınıfı yazısına taşıdım.
Genel Metodlar
getAndIncrement ve incrementAndGet
getAndIncrement ve incrementAndGet isimli iki metod sunar. Farkları şöyle. getAndIncrement ilk değeri döndürür ve değişkeni artırır. incrementAndGet değişkeni artırır sonra değeri döndürür. Yani aslında
getAndIncrement = i++
incrementAndGet = ++i
gibi düşünülebilir.
public final int getAndIncrement() {
for (;;) {
int current = get();
int next = current + 1;
if (compareAndSet(current, next))
return current;
}
}
public final int incrementAndGet() {
for (;;) {
int current = get();
int next = current + 1;
if (compareAndSet(current, next))
return next;
}
}
Basit bir kullanım örneği şöyleAtomicLong counter = new AtomicLong();
long val = counter.incrementAndGet();
return String.valueOf(val);
Hiç yorum yok:
Yorum Gönder