Junior — Middle
Java-да AtomicInteger класының жұмыс істеу принципін түсіндіріңіз және ол қалай көп ағынды қауіпсіздікке кепілдік береді.
sobes.tech AI
AI-дан жауап
Java-да AtomicInteger класы атомды түрде орындалатын бүтін сан мәнін қамтамасыз етеді, яғни толық орындалады немесе мүлдем орындалмайды, басқа ағындармен бұзылмайды. Бұл көп ағынды ортада айнымалы жағдайын қауіпсіз басқаруды қамтамасыз етеді.
AtomicInteger-дің негізгі әдістері, мысалы incrementAndGet(), decrementAndGet(), compareAndSet(), төмен деңгейлі атомды процессор нұсқауларын (мысалы, CAS — салыстыру және ауыстыру) пайдаланады, бұл деректердің жарыс жағдайларын болдырмайды.
Қолдану мысалы:
import java.util.concurrent.atomic.AtomicInteger;
public class Counter {
private AtomicInteger count = new AtomicInteger(0);
public void increment() {
count.incrementAndGet();
}
public int getCount() {
return count.get();
}
}
Бұл мысалда бірнеше ағындар қауіпсіз түрде increment() әдісін шақыра алады, және count мәні дұрыс түрде көбейеді, қосымша блоктаусыз.