РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1040 of 1163 menu

Метод get

Метод get класса AtomicInteger возвращает текущее значение атомарной целочисленной переменной. Класс AtomicInteger находится в пакете java.util.concurrent.atomic и обеспечивает атомарные операции над значением типа int без использования блокировок. Метод get не принимает параметров и возвращает значение типа int. Чтение значения происходит атомарно, поэтому метод безопасно вызывать из нескольких потоков одновременно.

Синтаксис

atomicInteger.get()

Пример

Давайте создадим объект AtomicInteger со значением 12345 и получим его при помощи метода get:

import java.util.concurrent.atomic.AtomicInteger; public class Main { public static void main(String[] args) { AtomicInteger counter = new AtomicInteger(12345); int res = counter.get(); System.out.println(res); } }

Результат выполнения кода:

12345

Пример

Давайте изменим значение атомарной переменной при помощи метода set и затем прочитаем его через get:

import java.util.concurrent.atomic.AtomicInteger; public class Main { public static void main(String[] args) { AtomicInteger counter = new AtomicInteger(1); counter.set(5); int res = counter.get(); System.out.println(res); } }

Результат выполнения кода:

5

Пример

Давайте увеличим значение при помощи метода incrementAndGet и прочитаем результат:

import java.util.concurrent.atomic.AtomicInteger; public class Main { public static void main(String[] args) { AtomicInteger counter = new AtomicInteger(1); counter.incrementAndGet(); counter.incrementAndGet(); int res = counter.get(); System.out.println(res); } }

Результат выполнения кода:

3

Пример

Давайте прочитаем значение атомарной переменной из двух потоков. Метод get возвращает актуальное значение на момент вызова:

import java.util.concurrent.atomic.AtomicInteger; public class Main { public static void main(String[] args) throws InterruptedException { AtomicInteger counter = new AtomicInteger(100); Thread writer = new Thread(() -> { counter.set(200); }); writer.start(); writer.join(); int res = counter.get(); System.out.println(res); } }

Результат выполнения кода:

200

Смотрите также

  • класс AtomicInteger,
    который обеспечивает атомарные операции над int
  • метод set,
    который устанавливает новое значение
  • метод incrementAndGet,
    который увеличивает значение на единицу
  • метод compareAndSet,
    который атомарно сравнивает и устанавливает значение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить