Как избежать блокировки веб-запросов на веб-сервере Tomcat? - PullRequest
1 голос
/ 05 марта 2012

Я читал на сервере push, и они упоминают, что «каждое соединение Server Push связывает поток»

Я немного растерялся из-за того, как потоки создаются веб-сервером (для каждого запроса? Для каждого сервлета? Для каждого сервера?) И существует ли какой-то жизненный цикл.

Объяснение того, как приложение в браузере обрабатывается из представления сервера, было бы очень удобно.

Ответы [ 2 ]

1 голос
/ 05 марта 2012

Это полностью зависит от конкретного используемого веб-сервера.

Некоторые действительно блокируют поток для этого.Другие поддерживают асинхронный ввод-вывод, который не блокирует поток (он регистрирует обратный вызов с ядром Windows / Linux).

Но у всех есть общее, что им необходимо поддерживать длительное соединение с клиентом.

0 голосов
/ 05 марта 2012

Все, что вы можете сделать из этого утверждения, это то, что обсуждаемый веб-сервер имеет поток, связанный с каждым открытым соединением, даже если он не осуществляет активную передачу данных.Вы не можете сказать ничего другого только от этого.Сервер может создать новый поток для каждого соединения, он может повторно использовать пул потоков, он может иметь потоки, связанные с конкретными внутренними структурами.Там нет никакого способа узнать.

...