Эйч
Эйч
  • Все менторы
Задачи/Java-разработчик/Потокобезопасность счётчика при конкурентном доступе

Потокобезопасность счётчика при конкурентном доступе

Условие задачи

Метод main запускает два потока: – один увеличивает значение счётчика 4 раза через метод inc(), – второй (в самом методе main) уменьшает значение счётчика 4 раза через метод dec(). Оба потока работают с одним и тем же объектом Test2. Определить результат метода get() и указать, при каких условиях он может вернуть 0.

javapublic class Test2 implements Runnable {

    private int counter;

    public void inc() {
        counter++;
    }

    public void dec() {
        counter--;
    }

    public int get() {
        return counter;
    }

    @Override
    public void run() {
        for (int i = 0; i < 4; i++) {
            inc();
        }
    }

    public static void main(String[] args) {
        Test2 test2 = new Test2();
        new Thread(test2).start();
        for (int i = 0; i < 4; i++) {
            test2.dec();
        }
        System.out.println(test2.get());
    }
}

Профессия

Java-разработчик

Сопроводим до оффера

Умножим шансы на каждом этапе поиска и поможем получить выгодный оффер

Узнать больше

Сервис развития карьеры

Контактыteam@h.careers@hcareers
TelegramVKYouTubeLinkedIn
Профессии
Компания
С чем помогаемОтзывыВопросы и ответыСертификатыВебинарыСтать ментором

Платформа принадлежит ООО "Эйч Карьера"
ИНН 9710095807 ОГРН 1227700077340
Адрес: 127006, город Москва, Старопименовский пер, д. 18 стр. 2, помещ./ком./этаж I/19/2

Copyright © 2020-2025 Сервис развития карьеры Эйч. Все права защищены.

Политика конфиденциальностиПользовательское соглашениеОферта