Встречается на собеседованиях • сегодня

В разных или одном потоке запросы идут в контроллер

В Spring MVC по умолчанию каждый HTTP-запрос обрабатывается в отдельном потоке из пула потоков сервлет-контейнера (например, Tomcat). Это означает, что контроллеры thread-safe, если не используют общее изменяемое состояние.

Пример:

java
@RestController
public class MyController {
    private int counter = 0; // Проблема: общее состояние
    
    @GetMapping("/count")
    public int count() {
        return ++counter; // Не thread-safe!
    }
}

Для потокобезопасности:

  1. Используйте локальные переменные
  2. Применяйте thread-safe классы (AtomicInteger, ConcurrentHashMap)
  3. Синхронизируйте доступ (synchronized, Lock)
  4. Используйте аннотацию @Scope("request") для бинов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы