Если сервлет реализует интерфейс SingleThreadModel
, контейнер сервлета может создать один или несколько экземпляров сервлета в зависимости от загрузки запроса. Каждый экземпляр будет использовать только свой метод service()
. Это решает проблемы безопасности потоков, но не все из них. Такие как статические переменные класса, атрибуты сеанса все еще не являются потокобезопасными.
Вместо использования этого интерфейса разработчик рекомендует использовать синхронизирующий блок кода, обращающийся к этим ресурсам.