#89 Проблемы инкремента и декремента в многопоточности
Что будет выведено на экран? Какие есть проблемы? Как решить?
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]);
}
}
Разбор вопроса
Войди, чтобы начать диалог
Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти
Доступно с Premium
Это лишь одно из решений, доступных с Premium. А ещё:
- 250+ продвинутых лекций
- 1300+ практических заданий
- 500+ решений задач с реальных собеседований
- Именные сертификаты Java Hub
- Расширенный доступ к AI-ментору