Google App Engine - использует ли каждый экземпляр JVM только один поток? - PullRequest
0 голосов
/ 10 февраля 2010

Каждый экземпляр JVM использует только один поток?

например. если пользователь отправляет запрос одному экземпляру JVM, который займет 5 секунд, а через 2 секунды другой пользователь отправляет запрос в тот же экземпляр JVM, должен ли второй пользователь ждать оставшиеся 3 секунды, прежде чем его запрос даже начнет обрабатываться?

Ответы [ 3 ]

2 голосов
/ 11 февраля 2010

В настоящее время JVM являются однопоточными, но вы не должны полагаться на это, продолжая иметь место: спецификация Java Servlet позволяет контейнерам сервлетов быть многопоточными.

Что касается вашего примера, нет, второму пользователю не нужно будет ждать: App Engine раскручивает несколько независимых виртуальных машин для обслуживания вашего приложения, поэтому второй запрос отправляется на другую виртуальную машину.

0 голосов
/ 11 февраля 2010

Каждый экземпляр может иметь более одного потока. Я не могу найти ссылку на ссылку, которая говорит об этом, но если бы каждая JVM была однопоточной, я думаю, что мы увидели бы, что намного больше запросов было бы медленным из-за задержки запуска новой JVM.

0 голосов
/ 10 февраля 2010

Я так не думаю. Если он работает как любой другой сервер приложений, каждый запрос находится в отдельном потоке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...