#89 Проблемы инкремента и декремента в многопоточности

Компании:
X5
Темы:
JavaМногопоточностьКод ревью

Что будет выведено на экран? Какие есть проблемы? Как решить?

public class Main {
    public static void main(String[] args) {
        final int[] i = {0};

        for (int j = 0; j < 10; j++) {
            for (int c = 0; c < 10; c++) {
                new Thread(() -> {
                    ++i[0];
                    Thread.sleep(3L);
                    --i[0];
                }).start();
            }
        }

        System.out.println(i[0]);
    }
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти