Junior — Middle
Môžeš uviesť príklad situácie, kedy je použitie atomárnej premennej odôvodnené a nevyhnutné pre správne fungovanie?
sobes.tech AI
Odpoveď od AI
Атомарные переменные в Java используются для обеспечения корректной работы с данными в многопоточной среде без необходимости использовать блокировки (synchronized). Они гарантируют, что операции чтения и записи происходят атомарно, то есть неделимо и без состояния гонки.
Пример ситуации: счетчик посещений на веб-сайте, который обновляется из нескольких потоков одновременно. Использование обычного int с инкрементом может привести к некорректным значениям из-за гонок. AtomicInteger решает эту проблему:
import java.util.concurrent.atomic.AtomicInteger;
public class VisitorCounter {
private AtomicInteger count = new AtomicInteger(0);
public void increment() {
count.incrementAndGet();
}
public int getCount() {
return count.get();
}
}
Таким образом, атомарная переменная обеспечивает корректное и эффективное обновление значения без блокировок.