Встречается на собеседованиях • сегодня
Последовательно ли идут запросы в потоке в контроллер
В Spring MVC запросы в контроллер по умолчанию обрабатываются параллельно, так как сервлеты потокобезопасны. Однако, если контроллер имеет состояние (использует не-final поля), возможны проблемы с потокобезопасностью.
Для гарантированной последовательности можно:
- Использовать
synchronizedметоды (но это снизит производительность) - Сделать контроллер stateless (рекомендуется)
- Использовать
@Scope("request")для создания нового экземпляра на каждый запрос
Пример потокобезопасного контроллера:
java
@RestController
public class SafeController {
// Stateless - поля final или отсутствуют
@GetMapping("/safe")
public String handle() {
return "Thread-safe response";
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы