Я действительно основывал свою карьеру на этих строках -
По умолчанию
servlet container
загружает только asingle instance
сервлет.Requests
, обслуживаемый сервлетом,run
вseparate threads
, ноshare the same instance
. Это позволяет приложениям гибкий и масштабируемый, поскольку он требует меньшего количества ресурсов и использует их эффективно.
Почти все знают, что это default threading model
.
Этот вопрос/обсуждение является продолжением этого конкретного потока stackoverflow.
Но выход в моем случае будет совершенно другим,
May 21, 2016 1:57:59 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test before // 1st thread
May 21, 2016 1:58:26 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test before // 2nd thread
May 21, 2016 1:58:59 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test after // 1st thread
May 21, 2016 1:59:26 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test after // 2nd thread
Несмотря на то, что я попал в URL-адрес этого подробного сервлета в двух браузерах одного и того же браузера, разница в 2/2 раза, но я вижу следующий результат
May 21, 2016 1:58:26 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test before // 2nd thread
после секунд больше, чем ранее упомянутая ~ 1 секунда,
i.e к этому,
May 21, 2016 1:57:59 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test before // 1st thread
Почему?
Очевидно, что из вышеприведенного вывода второй запрос не подается после того, как первый был подан полностью, но в ч/б, вопреки тому, что предложил OP
этому вопросу.
Что именно происходит?
Почему два разных выхода для одного и того же сценария?
result/ output
ясно показывает, что сервер not synchronizing
2 requests.