Эйч
Эйч
  • Все менторы
Задачи/Java-разработчик/Инкремент с CountDownLatch

Инкремент с CountDownLatch

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

Программа запускает 100_000 параллельных задач в пуле из 100 потоков. Каждая задача увеличивает два счётчика: counter1 и counter2. CountDownLatch используется для ожидания завершения всех задач перед печатью результатов. Определить результат программы.

javapublic class Increment {
    private static int counter1 = 0;
    private static int counter2 = 0;

    public static void main(String[] args) throws InterruptedException {
        int tasksCount = 100000;
        CountDownLatch latch = new CountDownLatch(tasksCount);
        ExecutorService executor = Executors.newFixedThreadPool(100);
        for (int i = 0; i < tasksCount; i++) {
            executor.submit(() -> {
                counter1++;
                counter2++;
                latch.countDown();
            });
        }

        latch.await();
        System.out.println(counter1);
        System.out.println(counter2);
        System.exit(0);
    }
}

Профессия

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

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

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

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

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

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

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

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

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