@Biaci_Anj

Spring, почему мы не используем synchronize?

Как работает многопоточность в Spring приложении? Он используем сервлеты, создается поток на каждого пользователя, так почему не происходит ошибок?
Без фреймворка мы должны синхронизировать методы, а тут из контроллера вызываем методы других классов без synchronize, почему код не ломается?
Вопрос глупый, я знаю, но буду очень благодарен ответу.
  • Вопрос задан
  • 338 просмотров
Решения вопроса 2
xez
@xez Куратор тега Java
TL Junior Roo
Многопоточность работает точно так же.
synchronized используется внезависимости используете вы какие-либо фреймворки или нет.
Многопоточные приложения можно писать вообще без каких-либо блокировок, разруливая доступ к ресурсам архитектурными решениями, используя иммутабельные типы и п.р.
Ответ написан
Комментировать
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Во-первых, на каждого пользователя поток не создаётся. Потоки берутся из пула, а потому должны как можно быстрее обработать запрос и вернуться обратно.

Во-вторых, синхронизация может происходить внутри высокоуровневых абстракций фреймворка, которые вы используете. Или, как правильно заметил Dmitry Roo, конкурентный доступ может разрузиваться другими механизмами.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы